Javascript QUnit XMLHttpRequest测试

Javascript QUnit XMLHttpRequest测试,javascript,jquery,google-chrome,web,qunit,Javascript,Jquery,Google Chrome,Web,Qunit,我正在尝试使用XMLHttpRequest(带回调参数)为函数创建一个测试。但它总是返回未定义的 函数sendMessage(服务器文件、数据、检索){ var xhr=new XMLHttpRequest(); xhr.open('POST',serverFile,true); setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”); xhr.onreadystatechange=函数(){ if(xhr.readyState==4){ 开

我正在尝试使用XMLHttpRequest(带回调参数)为函数创建一个测试。但它总是返回未定义的

函数sendMessage(服务器文件、数据、检索){
var xhr=new XMLHttpRequest();
xhr.open('POST',serverFile,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xhr.onreadystatechange=函数(){
if(xhr.readyState==4){
开关(xhr状态){
案例200:
retVal(xhr.responseText);
打破
案例404:
检索(“404”);
打破
案例0:
返回(“0”);
打破
违约:
retVal(“其他代码”);
}
}
}
xhr.send(“数据=”+数据);

}
我找到了答案

QUnit.test(“消息发送XMLHttpRequest测试”,函数(断言){
断言、期望(5);
var done=[];
对于(变量i=0;i<5;i++){
done[i]=assert.async();
};
sendMessage(“server.php”,“Hello Text Message”,函数(responseText){
assert.equal(responseText,“消息正确”,“发送正常消息”);
完成[0]();
});
sendMessage(“server.php”,“带标记的消息”,函数(responseText){
assert.equal(responseText,“消息错误”,“发送带有标记的消息”);
完成[1]();
});
sendMessage(“error.php”、“Hello Text Message”、函数(responseText){
等于(responseText,“404”,“请求错误的服务器文件”);
完成[2]();
});
发送消息(“http://wrongDomain.wrong/server.php“,”你好短信“,函数(responseText){
assert.equal(responseText,“0”,“请求错误的服务器(或服务器没有应答)”);
完成[3]();
});
sendMessage(“otherCode.php”,“Hello文本消息”,函数(responseText){
等于(responseText,“其他代码”,“请求返回其他代码”);
完成[4]();
});
});