【发布时间】:2016-05-08 18:33:00
【问题描述】:
我想测试一个 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() 的电话。有没有其他方法可以设置模块或测试以允许 sinon 拾取它?我的替代方法是对 baz 所做的事情做出一些基本断言,但我显然不想这样做。
根据我在网上看到的情况,我想知道按原样布局的代码是否可以实现这一点,或者我是否需要对其进行重组以获得我想要的。
【问题讨论】:
标签: javascript ecmascript-6 sinon