Что эквивалентно jasmine.createSpy (). And.callFake (fn) в sinonjs

1

Я ищу эквивалент jasmine.createSpy().and.callFake(fn) в sinonjs.

Например:

const mySpy = jasmine.createSpy('my spy')
.and
.callFake((options) => Object.assign({}, {name: 'foo'}, options));
Теги:
unit-testing
sinon
sinon-chai
jasmine2.0

3 ответа

2
Лучший ответ

Шпион, который может изменить возвращаемое значение (необязательной завернутой функции), называется заглушкой в языке Sinon, поэтому вы ищете документацию по заглушкам. Ваш пример будет выглядеть так:

const myStub = sinon.stub().callsFake((options) => Object.assign({}, {name: 'foo'}, options));

console.log(myStub().name === 'foo') // => 'true'

Раскрытие информации: Я являюсь частью команды поддержки Sinon.

0

Это должно работать:

var stub = sinon.stub(object, "method", func);

Проверьте это: http://legacy.sinonjs.org/docs/

  • 0
    Эта сигнатура метода устарела начиная с версии 2. Теперь вы используете callsFake для того же: sinonjs.org/releases/v2.3.4/stubs . В противном случае все в порядке, но помните, что в вопросе «аскеров» нет ни объекта, ни метода.
0

Из того, что я понимаю из документации Jasmine, это должно сделать нечто похожее:

const mySpy = sinon.spy((options) => Object.assign({}, {name: 'foo'}, options))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню