Скажем, я шпионю за таким методом:
spyOn(util, "foo").andReturn(true);
Тестируемая функция вызывается util.foo
несколько раз.
Возможно ли, чтобы шпион вернулся true
в первый раз, но вернулся false
во второй раз? Или есть другой способ сделать это?
javascript
unit-testing
jasmine
михаил
источник
источник
.returnValues
- две функции, очевидно, разные, но передача нескольких аргументов в.returnValue
не вызывает ошибки. Я не хочу признавать, сколько времени я потратил зря из-за этого одного персонажа.Для более старых версий Jasmine вы можете использовать
spy.andCallFake
для Jasmine 1.3 илиspy.and.callFake
для Jasmine 2.0, и вам нужно будет отслеживать состояние «вызываемого» либо с помощью простого закрытия, либо с помощью свойства объекта и т. Д.источник