在使用Jest导入/导出语法时,似乎autoMocking是我默认导入的组件,即使我显式地关闭了该组件的模拟。
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' }任何帮助都将不胜感激
发布于 2016-10-12 20:12:35
我也遇到过同样的问题,jest.*方法根本不起作用,从另一方面来说,把"unmocking“特性移到package.json中的Jest's configuration上--工作正常:
{
"jest": {
"unmockedModulePathPatterns": [
".*"
]
}
}https://stackoverflow.com/questions/36206308
复制相似问题