0
這個問題has been asked before,但給出的答案是重寫在這種情況下使用的特定代碼。捕捉MochaJS超時
Mocha documentation只提到了改變超時的持續時間,而不是超時的行爲。
在我的的情況下,我想測試在某些條件下沒有任何副作用的代碼。最明顯的方式做到這一點是調用代碼,等待摩卡超時,然後在我的間諜運行一些說法,如:
this.onTimeout(function() {
assert.equal(someObject.spiedMethod.called, false);
});
someAsyncFunction();
這是可能的,還是我不得不求助於設置我自己的超時,如:
// 1. Disable the mocha timeout
this.timeout(0);
// 2. create my own timeout, which should fire before the mocha timeout
setTimeout(function() {
assert.equal(someObject.spiedMethod.called, false);
done();
}, 2000);
someAsyncFunction();