我正在测试一个使用同一文件中另一个函数的函数,基本上这就是我所拥有的:
// fileToTest.js
const myOtherFunction =()=> {/ *做一些疯狂的事情* /}
const myFunctionToTest = () => {
/* do something */
const result = myOtherFunction()
/* keeps doing things */
}
modules.exports = {
myFunctionToTest,
myOtherFunction,
}
问题是,当我测试myFunctionToTest
时,我对存根myOtherFunction
进行了测试,那么即使运行了正确的存根,也永远不会调用存根,而是调用实函数。
当我不直接执行modules.exports = {...}
而不是直接导出函数(即exports.myFunctionToTest和exports.myOtherFunction)时,一切正常。
所以我认为用新对象重写modules.exports是一个坏主意(也许也是一个坏习惯吗?)
这如何影响sinon存根?