使用Tape JS进行单元测试的最佳方法?

时间:2018-01-03 20:04:20

标签: javascript unit-testing asynchronous testing

我正在为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('');
});

}

0 个答案:

没有答案