BugDifficulty: MediumHelp wantedRegressionhacktoberfestpinned
仓库指标
- 星标
- (9,548 个星标)
- PR 合并指标
- (PR 指标待抓取)
描述
This snippet works fine with Sinon 2.0.0 but fails with Sinon 4.2.2:
it('returns correct thisValue', function() {
window.SomeClass = function() {
this.counter = 0;
this.inc = function() {
this.counter++;
};
this.getCounter = function() {
return this.counter;
};
};
var spy = sinon.spy(window, 'SomeClass');
var some = new window.SomeClass();
some.inc();
expect(spy.thisValues[0].counter).toEqual(1);
expect(spy.thisValues[0].getCounter()).toEqual(1);
some.inc();
expect(spy.thisValues[0].counter).toEqual(2);
expect(spy.thisValues[0].getCounter()).toEqual(2);
});
It looks like the thisValues[0] object is a proxy and does not refer to the actual instance of some.
This is the error with Sinon 4.2.2:
Expected undefined to equal 1
TypeError: undefined is not a function (evaluating 'spy.thisValues[0].getCounter()')