【发布时间】:2017-04-21 16:19:30
【问题描述】:
如何使用 Sinon spy 检查导入的类函数是否从当前类的函数中调用?我试图在导入的类函数上调用.calledOnce 方法,但前提是它是在其函数容器中调用的。
举例说明如下:
<!-- language: lang-js -->
// foo.js
class foo {
static fooFn() {
}
}
// bar.js
import foo from 'foo';
class bar {
barFn() {
foo.fooFn()
}
}
// barTest.js
import { expect, assert } from 'chai';
import sinon from 'sinon';
import bar from 'bar';
describe('barTest', () => {
beforeEach(function beforeCallback() {
this.fooSpy = sinon.spy(foo, 'fooFn');
});
it('calls foo once', () => {
bar.barFn();
expect(foo.fooFn).calledOnce;
});
});
在上述情况下,我可以全局监视 fooFn 被调用一次。但是,我想通过检查 foo.fooFn 在 barFn 中被调用来加强期望。
【问题讨论】:
标签: javascript testing ecmascript-6 sinon chai