Предположим, у меня есть две функции, foo
вызывается внутри bar
. У меня есть приложение Meteor, поэтому я решил использовать пакет meteor mocha
вместе с sinon
и chai
, а не jest
// foo.js
const foo = () => // call to a google maps api;
export default foo;
// bar.js
const bar = (x) => {
foo();
...
};
export default bar;
Каков правильный подход насмешки foo
в этом случае
В настоящее время я нашел следующее решение:
import foo from 'path/to/foo.js'
import bar from 'path/to/bar.js'
describe('my test suite', function() {
it('should pass the test', function() {
foo = spy();
bar(5);
assert(foo.calledOnce);
});
});
Следующий код работает, но правильно ли переопределять foo
?
UPDATE
Кроме того, невозможно создать макет или заглушку таким образом, что заставляет меня думать, что Sinon не подходит для насмешливых автономных функций