javascript - 开玩笑地模拟嵌套函数
问题描述
我想开玩笑地测试calculate(),我不想调用add() 和subtract() 的实际实现。我如何模拟这些实现?这只是一个示例代码,我不确定它是否有效,但我想问的是如何在测试 calculate() 时模拟嵌套函数 add() 和 subtract() 以便在测试 calculate() 时我不要调用加减法的实际实现?
计算器.js
function add(){
return 1+1;
}
function subtract(){
return 2-1;
}
function calculate(){
add();
subtract();
}
module.exports = { add, subtract, calculate}
编辑:是的,所有这些功能都在同一个模块中。
计算器-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:这不是已标记的重复问题。我已经说过,我面临的问题是同一模块中的功能而不是不同模块中的功能,这些问题已得到回答,并且您将其标记为重复。
解决方案
推荐阅读
- javascript - Select2 和 Jexcel 向下拉列表添加新选项
- python - Cx_Oracle:DatabaseError:ORA-28040:没有匹配的身份验证协议
- c++ - 我在 VS Code 中的终端不会打印任何内容或给我一个错误。不知道为什么不打印
- javascript - 如何在检查后禁用 asp:CheckBox 然后执行服务器端代码?
- python - 如何更改图表上 mplfinance 卷的格式?
- vue.js - html的占位符
- c++ - 如何将 std::pair 迭代器传递给函数模板并推导出迭代器类型?
- xml - 根据批处理文件中的键“文本”解析 XML 文件的值
- html - Angular:如何获得子组件?
- java - 在上传到 Firebase 之前压缩图像