我試圖通過檢查它的調用,例如n
時間m
秒來測試ansync回調。如何測試異步回調?
這裏是我到目前爲止的代碼:
test("async callback", function() {
expect(1);
var called = 0;
var callback = function() {called++;};
var model = new Model(callback);
model.startCallbacks();
function theTest() { // call this a few seconds later and verify
model.stopCallbacks(); // that the callback has been called n times
equal(3, called, "number of times callback was called");
}
setTimeout(theTest, 10000); // wait about 10 seconds until calling theTest
});
(model.startCallbacks
和model.stopCallbacks
與setInterval
實現)。
這是行不通的。我認爲這是因爲執行測試功能結束,而callback
仍然是異步執行。
我想測試的是:model
正確調用callback
。我該怎麼做呢?
我只需要RTFM。多麼尷尬。 – 2012-03-01 20:52:59