我在通过 100% 覆盖率的测试时遇到问题。 Istanbul 尔说导出默认组件
否则未采用路径。
因此,我在生成的 Istanbul 尔 html 中看到我的测试并未完全达到 100%。主要在“语句和分支”选项卡中。
我正在使用:
- react :15.4.0
- 开 Jest :17.0.2
- Webpack:11.12.1
有什么想法吗?
最佳答案
问题出在 Jest 配置中,我们使用预处理器来解决一些导入问题:
在 json 包中我们有这个:
"transform": {
"^.+\\.js$": "<rootDir>/cfg/preprocessor.js"
},
此文件包含以下内容:
const babelJest = require('babel-jest');
require('babel-register');
const webpackAlias = require('jest-webpack-alias');
module.exports = {
process: function (src, filename) {
if (filename.indexOf('node_modules') === -1) {
src = babelJest.process(src, filename);
src = webpackAlias.process(src, filename);
}
return src;
}
};
我们更新到了 Jest v20
,并且还使用了 Jest 的模块解析器,我们在 package.json
中添加了:
"moduleDirectories": [
"node_modules",
"src"
],
并从 package.json
和 preprocessor.js
文件中删除了 transform
配置。
关于reactjs - 导出 Jest 和 ES6 未采用的默认路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40660511/