-1
私は値が一定の間隔で放出されるように私のライブラリのための仕様を作成しました。私はsinonjsを使用しており、スパイとしてコールバックを作成しています。私は10秒間の余分な2つの間隔をシミュレートするsinonjsで偽のタイマーを使用しています。しかし、テストがtickメソッドの最初の使用に着いたとき、これはエラーが発生したときです。私は、これは私の生産コードである私のテスト予想エラーが発生するのはなぜですか?
it('should emit the values at an interval', function() {
var callback = this.sandbox.spy();
var interval = this.sandbox.useFakeTimers();
this.myLib.emitValues(callback);
interval.tick(1000);
interval.tick(1000);
callback.should.have.been.calledWith('test');
});
については、以下の
ExpectationError: Unexpected call: getTheValue()
Expectation met: getTheValue([...]) once
がコードで以下のエラーが発生し
_getValue() {
var value = getTheValue(this.id);
this.myListener(value);
}
emitValues(callback) {
this.myListener = callback;
this._getValue();
setInterval(() => this._getValue(), 1000);
}
誰もが、私はこのエラーを取得する可能性がある理由を任意のアイデアを持っています?
生産コードを表示します。 – luboskrnac
私は生産コードを追加しました。 –
私はまだあなたのコードを完全に見るとは思わない。例えば。 'getTheValue'はどこに定義されていますか?どこが偽造ですか? 'this'はたくさん使われています。あなたの外側の範囲を把握できるように、コードを囲んで表示してください。テスト用とプロダクションコード用。 – luboskrnac