Yic*_*aoz 4 unit-testing reactjs jestjs enzyme
我正在使用 webpack resolve.extensions 来“有选择地”捆绑我的 js 文件。例如。
应用程序.js
import MyComp from 'comp/myComp';
Run Code Online (Sandbox Code Playgroud)
在comp/文件夹中我有:
MyComp.web.js
MyComp.ios.js
MyComp.android.js
Run Code Online (Sandbox Code Playgroud)
现在我想为 编写测试App.js,以测试它如何呈现为 web。但问题是 Jest 不断解析所有 3 个.js文件,这会导致依赖项错误,因为我没有在移动环境中运行该命令,而且大多数移动模块将无法工作。
我怎么能告诉 jest像 webpack 一样只解析.js和.web.js文件?
我将此添加到我的 package.json 中,它一直在解析.ios.js和.android.js
"moduleFileExtensions": ["web.js", "js", "jsx"],
"moduleDirectories": [
"node_modules",
"main"]
Run Code Online (Sandbox Code Playgroud)
我按照建议尝试:
"testPathIgnorePatterns": ["<rootDir>/node_modules/", "^.+\\.(android|ios)\\.js$"],
Run Code Online (Sandbox Code Playgroud)
看起来没有效果:(
您还可以将文件重新映射到空文件
touch empty.js
Run Code Online (Sandbox Code Playgroud)
在你的笑话配置中添加以下内容
moduleNameMapper: {
'\\.(css|jpg|png|scss|less|sass)$': '<rootDir>/empty.js',
},
Run Code Online (Sandbox Code Playgroud)
非常适合我
您可以添加testPathIgnorePatterns到您的package.json文件中。该值是正则表达式模式的数组。任何与表达式匹配的文件/路径都将被忽略/跳过测试。
有关更多详细信息,请参阅这些 Jest 文档
| 归档时间: |
|
| 查看次数: |
6662 次 |
| 最近记录: |