Я хочу проверить, что функция в модуле ES6 вызывает другую функцию с помощью Sinon.js. Вот основная схема того, что я делаю:
foo.js
export function bar() {
baz();
}
export function baz() {
...
}
test.js
import sinon from 'sinon';
import * as Foo from '.../foo';
describe('bar', function() {
it('should call baz', function() {
let spy = sinon.spy(Foo, 'baz');
spy.callCount.should.eql(0);
Foo.bar();
spy.calledOnce.should.eql(true);
});
});
Но шпион не отвечает на вызов baz()
. Есть ли другой способ, которым я могу настроить модуль или тест, чтобы позволить синону выбрать это? Моя альтернатива заключается в том, чтобы сделать некоторое базовое утверждение о чем-то, что делает baz, но я, очевидно, не хочу этого делать.
Из того, что я видел в Интернете, мне интересно, возможно ли это с помощью кода, изложенного как есть, или если мне нужно реструктурировать его, чтобы получить то, что я хочу.