间谍使用导出的功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了间谍使用导出的功能相关的知识,希望对你有一定的参考价值。
我有这种情况:
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
上进行模拟/存根/模拟,因为它在函数a
中被声明为私有函数。模拟/存根/间谍方法需要包装原始函数,并在其上添加间谍/存根/模拟行为。
由于函数b
是私有的,因此您不能将其导入测试文件并进行模拟/存根/间谍。这就是为什么这是不可能的。
以上是关于间谍使用导出的功能的主要内容,如果未能解决你的问题,请参考以下文章