我有一個測試情況下如何使用雙回調摩卡和supertest
it("Searching with valid rollnumber", function(done) {
DbService.find_random_rollnumber(function(err, result) {
if(err) {
throw err;
}
request.get('/provider')
.query({id:result.rollnumber})
.set('Authorization', "Bearer "+token_value)
.end(function(err, response) {
if(err) {
throw err;
}
console.log(response.body);
done();
})
});
})
其中DbService.js有一個叫find_random_rollnumber寫成
find_random_rollnumber : function(callback) {
connection.provider.findOne({}, function(err, result) {
if(err) {
throw err;
}
return callback(err, result);
});
},
這是不工作和功能拋出一個錯誤
Error: timeout of 10000ms exceeded. Ensure the done() callback is being called in this test.
你期望發生的?你期望測試通過嗎?你認爲它會因爲另一個錯誤而失敗嗎?你的'console.log'怎麼樣?它顯示了你的期望嗎?它顯示別的嗎?如果是後者,你期望的和你所得到的有什麼區別?在嘗試調試時您是否使用了其他'console.log'語句?他們展示了什麼? – Louis