我是Jasmine的新手,我对以下测试有疑问:
describe("my test suite", function() {
it("my testcase", function() {
var callbackWasCalled = false;
function callback(){
callbackWasCalled = true;
}
methodToTest(callback);
expect(callbackWasCalled).toBe(true);
});
});
在大多数情况下可行,但此代码不起作用:
methodToTest(callback) {
setTimeout(function() { callback(); }, 100);
}
为什么? 当我在回调中添加console.log时,我看到它被调用。
答案 0 :(得分:0)
原因是在调用回调之前测试已经完成。尝试使用jasmine.Clock来模拟settimeout方法。