私はjavascriptクラスをテストする次のsinon.js/chai.jsを持っています。一部の環境では、時間を節約できないテスト機能はなぜですか?
describe('tick', function() {
beforeEach(function() {
this.clock = sinon.useFakeTimers();
});
afterEach(function() {
this.clock = sinon.restore();
});
it('should increase the time waited for all translators', function() {
let queue = new TranslatorQueue();
queue.join("translator1");
this.clock.tick(1000);
expect(_.head(queue.queue).timeWaiting).to.equal(1);
queue.join("translator2");
this.clock.tick(1000);
expect(_.head(queue.queue).timeWaiting).to.equal(2);
expect(_.last(queue.queue).timeWaiting).to.equal(1);
});
});
テストでは、私の開発マシン上で正常に渡しますが、テストが完了していないと私のステージングサーバー上でテストを実行しようとすると無限ループに入るように見えません。私はタイマーを嘲笑することと関係があると思いますが、どうすればこの問題のトラブルシューティングを行うことができますか?
haha私はこのことが起こると大好きです。これは[Rubber Duck Debugging](https://spin.atomicobject.com/2015/08/18/rubber-duck-debugging/)と呼ばれています:-) – Thatkookooguy