首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jest React测试es6导入/导出不需要的模拟

Jest React测试es6导入/导出不需要的模拟
EN

Stack Overflow用户
提问于 2016-03-25 01:23:53
回答 1查看 1.7K关注 0票数 5

在使用Jest导入/导出语法时,似乎autoMocking是我默认导入的组件,即使我显式地关闭了该组件的模拟。

代码语言:javascript
复制
jest.autoMockOff();
jest.dontMock("../bundles/Opportunities/MarkAsLost.jsx");

这是测试组件顶部的导入:

代码语言:javascript
复制
import MarkAsLost from "../bundles/Opportunities/MarkAsLost.jsx";

这是正在测试的组件底部的导出:

代码语言:javascript
复制
export default MarkAsLost;

这是将导入的组件记录到测试文件中的结果:

代码语言:javascript
复制
{ [Function]
  _isMockFunction: true,
  _getMockImplementation: [Function],
  mock: { calls: [ [Object] ], instances: [ [Object] ] },
  mockClear: [Function],
  mockReturnValueOnce: [Function],
  mockReturnValue: [Function],
  mockImpl: [Function],
  mockImplementation: [Function],
  mockReturnThis: [Function],
  displayName: 'MarkAsLost' }

当我使用旧的样式语法时,即:

代码语言:javascript
复制
var MarkAsLost = require("../bundles/Opportunities/MarkAsLost.jsx");
module.exports = MarkAsLost;

这是登录组件的结果,该组件现在的行为与我在测试文件中希望的一样

代码语言:javascript
复制
{ [Function] displayName: 'MarkAsLost' }

任何帮助都将不胜感激

EN

回答 1

Stack Overflow用户

发布于 2016-10-12 20:12:35

我也遇到过同样的问题,jest.*方法根本不起作用,从另一方面来说,把"unmocking“特性移到package.json中的Jest's configuration上--工作正常:

代码语言:javascript
复制
{
  "jest": {
    "unmockedModulePathPatterns": [
      ".*"
    ]
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36206308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档