我想为nodeJS单元测试使用sinonJS框架。问题是,我根本无法让这些sin sp的间谍工作。这是我的代码:sinon间谍没有检测到函数调用
const callback = sinon.spy(someModule.callback)
mainModule.doSomethingFunction() //someModule.callback function is called inside this function
assert(callback.calledOnce, 'callback should be called once')
它只是失败:
AssertionError: callback should be called once
但我记录应该调用的函数里面,它清楚地表明它被调用,兴农间谍刚没有检测到它。我不知道什么是错的?
如果您在问题中包含的是所有待测试的代码,则不会调用它。你创造了间谍,然后不做任何事情。 – cartant
我编辑了这个问题:我在应该被窥探的回调中添加了函数。间谍是不是间谍的目的,而不是做什么?我认为间谍只是间谍,然后我可以测试它侦察到的功能是否已被调用? –
@ VilleMiekk-oja是的,但是你的代码中没有任何函数调用'callback'。也许它应该作为'doSomethingFunction'的参数传递? – Bergi