在 Jasmine 中,只有当使用某些参数调用它时,有没有办法从间谍返回某个值?例如,我可以有类似的东西:
describe('my test', function() {
beforeEach(function() {
this.mySpy = jasmine.createSpy();
// not sure how to do this, so this is pseudocode
this.mySpy.and.returnValue(true).when.calledWith(false);
this.mySpy.and.returnValue(false).when.calledWith(true);
});
it('returns true if called with false', function() {
expect(this.mySpy(false)).toEqual(true);
});
it('returns false if called with true', function() {
expect(this.mySpy(true)).toEqual(false);
});
});
我浏览了文档,但找不到我想要的东西,也找不到任何相关的东西。我明白为什么没有这种情况 - 你知道你在调用什么,何时,为什么,以及使用什么参数,那么为什么要更具体呢?同时,这可能会导致更多代码,此时您可以准确地指定要返回的内容,而不必再次指定。