我想开玩笑地测试一下calculate(),并且我不想调用add()和subtract()的实际实现。如何模拟这些实现?这只是一个示例代码,我不确定它是否可以正常运行,但是我想问的是,在测试calculate()时如何模拟嵌套函数add()和subtract(),以便在测试calculate()时不要调用加法和减法的实际实现?
calculator.js
function add(){
return 1+1;
}
function subtract(){
return 2-1;
}
function calculate(){
add();
subtract();
}
module.exports = { add, subtract, calculate}
编辑:是,所有这些功能都在同一模块中。
calculator-test.js
describe('calculator.js', () => {
it('Testing calculate() without calling add and subtract ', () => {
const helper = require('calculator');
helper.add = jest.fn();
helper.subtract = jest.fn();
helper.calculate();
// I don't know....How do I test calculate() ??
})
EDIT2:这不是已被标记的重复问题。我已经说过我在同一个模块中遇到功能问题,而不是在不同模块中遇到问题,您将其标记为重复。