为了清楚起见,我会为您“绘制”一个情况。
模块 A(相同的 javascript 文件,在我的情况下,它在 ReactJS/Redux 应用程序中的 reducer)包含方法:First、Second
我测试方法 First (在其中调用了 Second - 我想检查它是否已被调用)。所以在伪代码中它看起来像这样:
creating a spy with sinon.spy(module1, 'Second')
invoking First()
checking whether its been called or not _createdSpy.should.have.calledOnce
我遇到的问题是,如果方法 Second 与 First 放在同一个模块(文件)中,它就不起作用(库不检测是否调用了 spy)。如果我将它移动到另一个文件/模块,它工作得很好。
它的设计或我做错了什么?
我用的是 sinon + chai + 酶栈。