簡體   English   中英

Jest React測試es6導入/導出不需要的模擬

[英]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;

這是loggin組件的結果,該組件現在在測試文件中表現得如我所願

{ [Function] displayName: 'MarkAsLost' }

任何幫助,將不勝感激

我遇到了同樣的問題, jest.*方法根本不起作用,另一方面將“unmocking”功能轉移到package.json中的Jest配置 - 工作正常:

{
  "jest": {
    "unmockedModulePathPatterns": [
      ".*"
    ]
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM