JestReact测试es6导入/导出不需要的mock
Jest React testing es6 import/export unwanted mock
当使用ES6导入/导出语法时,Jest似乎在默认情况下自动模拟我导入的组件,即使我明确关闭了组件的模拟。
jest.autoMockOff();
jest.dontMock("../bundles/Opportunities/MarkAsLost.jsx");
这是测试组件顶部的导入:
import MarkAsLost from "../bundles/Opportunities/MarkAsLost.jsx";
这是正在测试的组件底部的导出:
export default MarkAsLost;
这是将导入的组件记录在测试文件中的结果:
{ [Function]
_isMockFunction: true,
_getMockImplementation: [Function],
mock: { calls: [ [Object] ], instances: [ [Object] ] },
mockClear: [Function],
mockReturnValueOnce: [Function],
mockReturnValue: [Function],
mockImpl: [Function],
mockImplementation: [Function],
mockReturnThis: [Function],
displayName: 'MarkAsLost' }
当我使用旧式语法时,即:
var MarkAsLost = require("../bundles/Opportunities/MarkAsLost.jsx");
module.exports = MarkAsLost;
这是在测试文件中记录组件的结果
{ [Function] displayName: 'MarkAsLost' }
如有任何帮助,将不胜感激
我遇到了同样的问题,jest.*
方法根本不起作用,另一方面,将"卸载"功能转移到package.json中的Jest配置中-工作正常:
{
"jest": {
"unmockedModulePathPatterns": [
".*"
]
}
}
也有类似的问题。Jest嘲笑axios,正因为如此,其中一个依赖项没有在测试中实例化。所以我只是在测试文件的顶部添加了jest.unmock(axios)
a。
相关文章:
- 如何在不需要单击按钮的情况下获取选项的值
- Javascript不需要的关闭行为
- 删除客户端浏览器上不需要的内容
- 不允许在字段中输入不需要的字符
- 不需要的JSON响应
- 如何使图像适合TD,而不需要包装在不同的屏幕分辨率上
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- jQuery自动完成显示不需要的动态html标记
- 在Knockout js中创建一个包含多行的表,而不需要推送
- AngularJs正在解码HTML字符(不需要)
- jQuery regex从文本链接-添加不需要的域到链接
- 防止从浏览器到应用商店的不需要的重定向
- 外部解析RSS提要,不需要像谷歌和服务器端那样的任何库
- 不需要的异步事件调度
- 是否有任何不需要后端的验证码角度指令
- Ajax 请求给出不需要的响应
- Jquery/javascript:加载页面时不需要的重复函数
- 为什么Java代码需要编译,而JavaScript代码不需要
- Angular SPA中不需要的页面刷新
- JestReact测试es6导入/导出不需要的mock