我正在为一个函数编写单元测试,该函数调用同一模块内的另一个函数。
例如。
export function add(a, b) {
return a + b
}
export function showMessage(a, b) {
let sum = add(a, b)
return `The sum is ${sum}`
}
Run Code Online (Sandbox Code Playgroud)
测试:
import * as Logics from './logics;
describe('showMessage', () => {
it('should return message with sum', () => {
let addSpy = jest.spyOn(Logics, 'add')
let showMessageResponse = Logics.showMessage(2, 2)
expect(addSpy).toHaveBeenCalledTimes(1)
});
});
Run Code Online (Sandbox Code Playgroud)
我想测试执行 showMessage 时是否调用了 add 函数。上面的一个给出了以下错误:
预计来电次数:1 已接来电次数:0
我找到了一个解决方案,但这需要更改函数的导出方式:
function add(a, b) {
return a + b
}
function showMessage(a, b) …Run Code Online (Sandbox Code Playgroud)