我试图通过检查它的调用,例如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