从函数内部调用Sinon / Chai Mock构造函数

时间:2018-11-02 02:29:32

标签: javascript sinon-chai

我有一个类,作为实例化类的初始化函数。

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实例并返回一个间谍?

0 个答案:

没有答案