>我有这种情况:
用户.js:
var a = function() {
function b() {
return 5
}
}
module.exports = a
如何监视该功能b()
?
在我的测试.js文件中,我有这样的东西:
let us = require('../user)
chai.spy.on(us, 'b', returns => 3);
但这行不通。如何使用chai
解决此问题?
你不能在函数b
上模拟/存根/模拟,因为它在函数a
中被声明为私有函数。模拟/存根/间谍方法需要包装原始函数并在其上添加间谍/存根/模拟行为。
由于函数b
是私有的,因此您无法将其导入测试文件并模拟/存根/监视它。这就是为什么这是不可能的。