Javascript 间谍在导出函数上使用chai
我有这样的情况: user.js:Javascript 间谍在导出函数上使用chai,javascript,node.js,unit-testing,mocha.js,chai,Javascript,Node.js,Unit Testing,Mocha.js,Chai,我有这样的情况: user.js: var a = function() { function b() { return 5 } } module.exports = a 如何监视函数b() 在我的test.js文件中,我有如下内容: let us = require('../user) chai.spy.on(us, 'b', returns => 3); 但这不起作用。如何使用chai解决此问题?您不能对函数b进行mock/stub/mock,因
var a = function() {
function b() {
return 5
}
}
module.exports = a
如何监视函数b()
在我的test.js文件中,我有如下内容:
let us = require('../user)
chai.spy.on(us, 'b', returns => 3);
但这不起作用。如何使用
chai
解决此问题?您不能对函数b
进行mock/stub/mock,因为它在函数a
中声明为私有函数。mock/stub/spy方法需要包装原始函数并在其上添加spy/stub/mock行为
由于函数
b
是私有的,所以不能将其导入测试文件并模拟/存根/间谍它。这就是为什么它是不可能的。我认为这是不可能的:只有公开的函数/方法可以被监视。