【问题标题】:Exports defaults else path not taken with Jest and ES6导出默认路径,否则 Jest 和 ES6 不采用路径
【发布时间】:2017-04-01 07:50:14
【问题描述】:
我在通过 100% 覆盖率的测试时遇到问题。伊斯坦布尔说 exports defaults Component 否则路径未采用。
因此,我在生成的伊斯坦布尔 html 中看到我的测试并未完全达到 100%。主要在“语句和分支”选项卡中。
我正在使用:
- 反应:15.4.0
- 开玩笑:17.0.2
- Webpack:1.12.11
有什么想法吗?
【问题讨论】:
标签:
reactjs
webpack
jestjs
istanbul
【解决方案1】:
问题出在开玩笑的配置中,我们使用预处理器来解决一些导入问题:
在 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 配置。