1
我的單元測試向HTTP API請求HTTP請求並使用kriskowal q庫。當我做assert
呼叫then
回調和斷言失敗我看Error: timeout of 2000ms exceeded
而不是AssertionError
。我寫了一個例子來說明這種情況:錯誤:超過2000ms的超時。單元測試承諾
var assert = require('assert')
, Q = require('q');
it('promise', function(cb){
var deferred = Q.defer();
deferred.promise.then(function(){
assert(false);
cb();
});
deferred.resolve();
});
我無法理解這種行爲。使用setTimeout/setImmediate
建模異步行爲將顯示正常的AssertionError
。
謝謝你的回答。有用! – user3414982 2014-12-08 18:31:06
@ user3414982很高興我能幫忙,你可能想考慮一個更好的承諾實現。 – 2014-12-08 18:33:02