在导出函数上使用 chai 进行间谍活动
Spy using chai on exported function
我遇到这种情况:
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,因为它在函数 a
中声明为私有函数。 mock/stub/spy 方法需要包装原始函数并在其上添加 spy/stub/mock 行为。
由于函数 b
是私有的,您不能将其导入测试文件并 mock/stub/spy 它。这就是为什么这是不可能的。
我遇到这种情况:
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,因为它在函数 a
中声明为私有函数。 mock/stub/spy 方法需要包装原始函数并在其上添加 spy/stub/mock 行为。
由于函数 b
是私有的,您不能将其导入测试文件并 mock/stub/spy 它。这就是为什么这是不可能的。