我为我的库创建了一个规范,以确保定期发出一个值。我正在使用 sinonjs 并创建了一个回调作为间谍。我在 sinonjs 中使用假计时器来模拟额外的两个 10 秒间隔。但是,当测试首次使用 tick 方法时,就会发出错误。我产生以下错误
ExpectationError: Unexpected call: getTheValue()
Expectation met: getTheValue([...]) once
下面是我的测试代码
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');
});
这是我的生产代码
_getValue() {
var value = getTheValue(this.id);
this.myListener(value);
}
emitValues(callback) {
this.myListener = callback;
this._getValue();
setInterval(() => this._getValue(), 1000);
}
有谁知道为什么我可能会收到此错误?