我想对如下方法运行单元测试。
returnsCallback (callback) {
return callback(null, false)
}
我相信传入的回调参数是(错误,响应)
。我不知道如何测试这个或者它是否适合测试。我是否模拟回调参数来测试它?到目前为止,我已经在下面了,它似乎有效,但我不确定。有什么想法吗?
describe('returnsCallback ()', function () {
let myObj = new MyObject()
it ('should always return false', function (done) {
myObj.returnsCallback(function (error, response) {
if (!error && response === false) {
done(false)
} else {
done(true)
}
})
})
})
最佳答案
您应该测试的不是回调返回 false,而是使用正确的参数调用。在您的情况下,它们是 null
和 false
。我不知道你使用什么断言库,我展示了一个使用 should 的示例模块:
describe('returnsCallback ()', () => {
let myObj = new MyObject();
it ('should call callback with error is null and response is false', done => {
myObj.returnsCallback((error, response) => {
should(error).be.exactly(null);
should(response).be.equal(true);
done();
});
});
});
关于javascript - Mocha : how to test this async method that returns a callback?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45803767/