我正在为promisified代码编写单元测试。像这样单元测试异步代码的“正确”方法是什么?似乎使用超时并等待一些任意的时间来进行调用是一个糟糕的想法,以进行强大的测试。
下面是我想为其编写测试的函数的一些示例代码。 谢谢!
function getAllItems(){
return createRequest(URLS["a"],{}, itemsCB);
}
function itemsCB(response){
var items = JSON.parse(response).objects;
Items.append(items);
}
function createRequest(url, body, callback){
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
return new Promise(function(resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.onload = function(){
if(xhr.status == 200){
if(callback != null){
callback(xhr.responseText);
}
resolve(xhr.responseText);
}
else{
reject(xhr.statusText);
}
}
xhr.onerror = function() {
reject(Error("Network Error"));
};
xhr.open("GET", url);
xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');
xhr.send('');
});
}