1
如何使用Sinon間諜來檢查導入的類函數是否從當前類中的函數內調用?我試圖在導入的類函數上調用.calledOnce
方法,但前提是隻有在其函數容器中調用方法。Sinon間諜期望嵌套函數內的函數調用
一個例子說明如下:
<!-- 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
被調用一次。不過,我想通過在barFn
之內調用foo.fooFn
來加強預期。