私はSinonとMochaを使っていくつかの有効期限をテストしています。私は数ヶ月前に同じコードを使いましたが、うまくいきましたが、v1.12.xとv1.17.xの間のどこかに何か変わってしまい、正しいパスを見つけることができません。Sinon useFakeTimers()はbefore/afterEachでタイムアウトを作成します
let sinon = require('sinon');
describe('USER & AUTHENTICATION ENDPOINTS', function(done) {
beforeEach(function() {
this.clock = sinon.useFakeTimers(new Date().getTime());
return fixtures.load(data);
});
afterEach(function() {
this.clock.restore();
return fixtures.clear(data);
});
context('POST /users', function() { ... }
});
- は、私はと
new Date().getTime()
引数なしで試してみました。 - 私は渡して、明示的に
done()
を呼び出しました。 - 私はフィクスチャロード/クリアプロセスを削除しようとしました。
最終的な結果は常に同じです:
Error: timeout of 5000ms exceeded. Ensure the done() callback is being called in this test.
は何かが私はマニュアルに気づいていないことを変わりましたか?私には見えない何らかのエラーがありますか?
どのような考えにも感謝します。ここ
UPDATE
だから、もう少し情報。これは明らかに私のコードと関係がありますが、私は迷っています。
すべての実際のテストにコメントすると、テストが実行され、緑色の「0通過」が表示されます。
私は、実際のテストを実行する場合
、だけでも、この1:context('POST /users', function() {
it('should create a new user', function(done) {
done();
})
});
私はすぐに戻ってタイムアウトです。私は何が欠けていますか?
これは問題の少なくとも一部ですが、問題のすべてではないようです。それを削除しても、私はまだ同じ問題を抱えています。 –
私はsinon 1.17.3で自分のテストを実行しました。あなたのfixtures.load()とfixtures.clear()行をコメントアウトしました。私にとっては、テストはタイムアウトなしで緑色です。だから多分これらの行で奇妙なことが起こっている? – Nicole
(そして、正直言って、最外部の記述に "done"パラメータでテストさえも緑色です...) – Nicole