我开始使用 qunit 和 mockjax 为我的 javascript 代码编写一些单元测试。我遵循存储库原则来检索我的数据。在每个存储库中都有一些对 url 的 ajax 调用,它们返回一些 json 数据。
在我的单元测试中,我想使用 mockjax 伪造这些调用。当我为具有测试 json 数据的文件指定代理时,一切正常,但是当我在 mockjax 的响应属性上指定内联 json 日期时,我得到一个错误(readystate 0)。
看我的测试:
asyncTest('getAll03', function () {
var id = $.mockjax({
url: 'myurl',
contentType: 'text/json',
response: function (settings) {
this.responseText = { test: "123" }; // my test data
start(); // needed because otherwise the test will keep running on and on
}
});
// The actual call
personRepository.getAll({
ready: function (persons) {
console.log(persons);
equal(2, 5, "..."); // temp equal to see if test is working.
start(); // Start validation
}
});
});
如果我在生产代码中记录 mockjax 调用的响应,我会看到它以 ajax 错误处理方法结束。我确实包含我的测试数据,但状态文本“错误”和 readyState '0'。
有什么帮助吗?