[英]How to test an ES7 async function using mocha/chai/chai-as-promised
[英]Test case for the function which is calling Async function with mocha and chai
我有返回承诺的功能。 这是功能代码。
function firstFunction () {
return new Promise (function (resolve , return) {
callApi(function(data, error){
if (data) resolve (data)
else if (error) reject (error)
})
})
}
如您所见,它正在调用某些api,并因此返回其数据。
我有另一个函数调用此函数
function secondFunction () {
firstFunction ().then(function (data , error) {
return data
})
}
现在,我想要写测试用例的secondfunction。 但无法做到这一点。 我也将logger放在函数中,但似乎不起作用,这是我的测试用例
describe.only ("network_test" , function () {
it ("test 01", function (done){
secondFunction (function (data) {
console.log(data);
done()
})
})
})
要测试promise,您应该在mocha测试中返回promise,而不要使用done
。
您的测试应类似于:
describe.only('network_test', function () {
it('test 01', function () {
return secondFunction(function (data) {
console.log(data);
});
});
});
更新:关于您的评论:检查您的错误处理程序,在firstFunction
reject
undefinded
。 在secondFunction
,错误将使承诺永远无法解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.