我想测试ES6模块中的函数使用Sinon.js调用另一个函数.这是我正在做的基本布局:
foo.js
export function bar() {
baz();
}
export function baz() {
...
}
Run Code Online (Sandbox Code Playgroud)
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);
});
});
Run Code Online (Sandbox Code Playgroud)
但间谍没有接听电话baz().还有其他方法我可以设置模块或测试以允许sinon选择它吗?我的另一种选择是对baz做的事情做一些基本的断言,但我显然不希望这样做.
从我在网上看到的情况来看,我想知道是否可以使用现有代码或者我需要对其进行重组以获得我想要的内容.