gpt4 book ai didi

javascript - 使用 qunit 和 mockjax 进行测试

转载 作者:行者123 更新时间:2023-11-29 14:57:46 26 4
gpt4 key购买 nike

我正在尝试弄清楚如何使用 qunit 和 mockjax 适本地测试这个 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");
});

关于javascript - 使用 qunit 和 mockjax 进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15118429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com