摩卡可以確定是否期望回調(done
),或者它是否應該同步運行測試,僅基於您將回調作爲參數傳遞。摩卡如何知道是異步?
// Sync
it("should be amazing", function(){
expect(amazing).equals(true);
});
// Async
it("should be amazing, eventually", function (done) {
setTimeout(function() {
expect(amazing).equals(true);
done();
}, 1000);
});
我不知道它是如何做到這一點的。我能想到的唯一方法是它將字符串解析爲函數,並將其分解並確定是否傳遞參數。
這是怎麼回事?
它知道你是否已經定義爲帶有參數(比如'done')功能 – Whymarrh
參見:http://stackoverflow.com/a/18422560/ 1267663 – Whymarrh