[英]Testing with qunit and mockjax
我试图找出如何使用qunit和mockjax aduequately测试这个javascript函数
我的javascript设置了揭示模块模式,我是单元测试的新手,所以这有点推动我的墙
my.someMethod = function (someId, completedHandler) {
$.ajax({
dataType: "json",
url: my.someUrl,
traditional: true,
data: {
someId : someId
},
success: function () {
if (completedHandler !== undefined) {
completedHandler();
}
}
});
};
就像我想测试是否正在使用正确的url,如果传入的id是正确的,请确保调用ajax等。
怎么样,终于弄清楚了自己。
结构如此
在你的JavaScript方法中
my.someMethod = function (someId, completedHandler) {
$.ajax({
dataType: "json",
url: my.someUrl,
traditional: true,
data: {
someId : someId
},
success: function (data) {
if (completedHandler !== undefined) {
completedHandler(someId, my.someUrl, data.testResult);
}
}
});
};
设置你的mockjax
$.mockjax({
url: "someActualUrl",
dataType: 'json',
responseText:
{
testResult: 'AJAX Called'
}
});
并在你的实际qunit测试中
test("someMethod calls ajax", function () {
namespace.someMethod("id1",
function (someId, someUrl, someTestResult) {
test("someMethod ajax test", function () {
assert.strictEqual(someId, "id1");
assert.strictEqual(someUrl, "someActualUrl");
assert.strictEqual(someTestResult, "AJAX Called");
});
start();
});
ok(true, "Ajax Called");
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.