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