【发布时间】:2017-02-12 18:00:39
【问题描述】:
我正在尝试使用 sinonJS 框架进行 nodeJS 单元测试。问题是,我根本无法让诗乃间谍工作。这是我的代码:
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:回调应该被调用一次
但是我正在登录应该调用的函数,它清楚地表明它正在被调用,sinon 间谍只是没有检测到它。不知道怎么了?
【问题讨论】:
-
如果您在问题中包含的是所有被测代码,则不会调用它。你创建了间谍,然后什么都不做。
-
我编辑了问题:我在回调中添加了应该被监视的函数。间谍的目的不就是窥探,而不是用它做点什么吗?我以为spy只是spy,然后我可以测试它窥探的函数是否被调用?
-
@VilleMiekk-oja 是的,但您的代码中没有任何内容调用过
callback。也许它应该作为参数传递给doSomethingFunction? -
在 mainModule.doSomethingFunction 内部调用。在 mainModule.doSomethingFunction 内部,它调用 someModule.callback 函数
标签: javascript node.js sinon chai