我有一个类,作为实例化类的初始化函数。
export default classA {
constructor() {
this.initialState = "starting";
}
getInitialState() { return this.initialState; }
}
class Manager {
...
initializeClassA(data) {
const aState = new ClassA();
....
}
}
在我的Manager测试课程中
it('initializes class A', () => {
const data = {...};
manager.initializeClassA(data);
expect(myClassASpy).to.have.been.called.once;
});
环顾四周,我发现了不同的建议方式,例如:
const classASpy = sinon.spy(window, 'classA')
const classASpy = sinon.spy(global, 'classA')
const classAStub = sinon.createStubInstance(classA);
我也看到了将classA对象传递给Initialize调用的建议,但是这些都不起作用。
是否可以在Manager类中模拟classA实例并返回一个间谍?