В 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);
});
});
Я просматривал документы, но не мог найти то, что я хотел, и не мог найти что-нибудь связанное с помощью функции поиска. Я могу понять, почему в этом не было бы случая - вы знаете, что вы называете, и когда, и почему, и с какими параметрами, зачем делать что-то более конкретное? В то же время это может привести к большему количеству кода, когда вы можете точно указать, что вы хотите вернуть один раз, и не указывать его снова.
Я на самом деле работаю в том же номер. Ждем ответа. –
Я не буду использовать ваш метод, поскольку он вроде бы лишний, но он выглядит как хороший метод. – trysis