- 此问题在此处已有答案**:
How to mock functions in the same module using Jest?(10个答案)
2天前关闭。
我正在为一个文件中的函数编写测试。几个函数调用了另一个也在该文件中的函数。下面是它的外观:
function importantFunc(str) {
//some logic
return result;
}
function funcA() {
//some logic
const result = importantFunc('test A')
//some logic
}
function funcB() {
//some logic
const result = importantFunc('test B')
//some logic
}
我已经为importantFunc
编写了一个测试,问题是如何测试mock在funcA
和funcB
中对importantFunc
的调用,使它们不会直接调用importantFunc
,而是使用我在mock中提供的结果?
在jest.spyOn
和jest.fn
之间,我在想jest.fn
可能会起作用。但是我不能弄清楚它将如何与funcA
或funcB
绑定。
1条答案
按热度按时间c0vxltue1#
通常不能这样做,除非您从另一个模块导入
importantFunc
,在这种情况下,您将模拟整个模块。你应该做的是重构你的代码,这样你的单元就不会彼此紧密耦合。