![](/img/trans.png)
[英]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.