私はすべての解決策をthis answerで試しましたが、どれもうまく動作しません。私は要求だけ3000ミリ秒を要した私のコンソール上に表示さジャスミンのタイムアウトを設定できません
jasmine.DEFAULT_TIMEOUT_INTERVAL= 999999;
describe('tests content controller', function(){
//...
fit('/content should return 200',function(done){
request(app)
.get('/content?type=script')
.set('Authorization', "bearer " + requestor.token)
.set('Accept', 'application/json')
.expect(200)
.end(function (err, res) {
if (err) done.fail(err);
expect(res.statusCode).toBe(200);
console.log('got here');
console.log(jasmine.DEFAULT_TIMEOUT_INTERVAL); //prints 30000
done();
})
},999999);
:私はこのテストを行うと、私はjasmine v2.3.2
と
jasmine-core v2.3.4
を使用してい
。私も私のgot here
ログを参照してください。
タイムアウトを示すログは、私が期待しているように30000
ではなく、999999
を出力します。
私はまた、メッセージと共に、このテストのための失敗を取得:
Message:
Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
Stack:
Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
1 spec, 1 failure
Finished in 33.069 seconds
この〜30秒の遅延の大半の原因となるいくつかの初期設定があります。アプリケーションはいくつかのデータベースに接続し、describe
にbeforeAll
関数を実行する必要があります。
どうすればジャスミンがこのようにタイムアウトするのを防ぐことができますか?
'jasmine.DEFAULT_TIMEOUT_INTERVAL'はトップレベルのコードにする必要があります。あなたは '記述'の外にそれを置こうとしましたか? –
@ just-borisはい。 – Houseman