我想为下面的方法运行单元测试。
returnsCallback (callback) {
return callback(null, false)
}
我认为传入的回调参数是(error, response)
。我无法弄清楚如何测试它,或者它是否适合测试。我是否模拟了回调参数来测试它?到目前为止,我有以下情况,似乎有效,但我不确定。有什么想法吗?
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)
}
})
})
})
答案 0 :(得分:1)
您应该测试不是回调返回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();
});
});
});