babeljs - 为什么我的文件夹名称会影响 `npm test` 、 Jest 和 Babel ?

标签 babeljs jestjs next.js

我在 Jest 测试的设置文件中收到 SyntaxError: Unexpected token import。我知道修复是通过 .babelrc 文件进行的。这实际上在某些情况下有效。我从https://github.com/zeit/next.js/tree/canary/examples/with-jest复制粘贴它.

当我运行npm test时,它失败了。当我运行 npm run test 时,它也失败了。当我运行npm run test:coverage时,它起作用了。我的脚本是这些:

"test": "NODE_ENV=test jest",
"test:coverage": "NODE_ENV=test jest  --coverage --coverageDirectory=coverage",

如果我将 test:coverage 更改为 NODE_ENV=test jest,则会失败。因此,以某种方式请求覆盖率报告神奇地解决了这个问题。

奇怪的是,覆盖范围失败了,而基本覆盖范围却正常工作。我删除了包锁,删除了模块,然后再次尝试 npm install。然后失败案例与我上面写的相反。

我的设置文件是这样的:

import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import jestFetch from 'jest-fetch-mock';

configure({ adapter: new Adapter() });
global.fetch = jestFetch;

我已将 Nextjs 示例应用程序修改为几乎相同,但错误并未出现。我不知道有什么区别。

更新

我确实复制了示例的所有内容,但它仍然不起作用。然后,我将文件夹从 my-app 重命名为 my-appy 并且它确实有效。我返回了所有原始代码,包括文件夹名称 my-app 并且失败了。我重命名了该文件夹并且它起作用了。该文件夹如何影响我运行 npm test

时发生的情况

更新2

其他人下载我的存储库没有问题。从未遇到过像这样的文件夹名称问题。

更新3

克隆到 /Users/dstein/Repositories/my-app 失败。克隆到 /Users/dstein/my-app 有效。克隆到 /Users/dstein/Repositories/abc/my-app 有效。不确定什么可能会导致该随机失败路径,特别是考虑到重命名 my-app 文件夹本身是有效的。

最佳答案

我想到了我的计算机上唯一可能不同的东西 - 缓存。我尝试做 "test": "NODE_ENV=test BABEL_DISABLE_CACHE=1 jest", 无济于事。然后我在 Jest 代码库中搜索 cache babel 并找到 https://github.com/facebook/jest/blob/6ee2a14b83393c9e3e3408beb5c4848489f04cf6/docs/Troubleshooting.md 。使用 --no-cache 运行 jest 可以正常工作。然后我发现How to clear Jest cache? 。所以我清除了缓存,问题就完全消失了。

https://github.com/facebook/jest/issues/5796 提交了可能的错误或文档问题

关于babeljs - 为什么我的文件夹名称会影响 `npm test` 、 Jest 和 Babel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49263077/

相关文章:

reactjs - 静态 propTypes 在 ES6 下不起作用

javascript - Jest 中的 'it' 和 'test' 有什么区别?

javascript - 使用 Jest 测试 Angular 应用程序 - Jest 遇到意外标记

css - 特定断点处元素的边距在 Tailwind 中不起作用

javascript - 基于 Bootstrap 的 Modal 没有出现在 React/Next JS 应用程序中

javascript - 使用 Gulp 和 Babel 缩短构建时间

javascript - babel-loader 语法错误仅适用于导入的模块

javascript - 开 Jest 测试(ReferenceError : google is not defined) ReactJS and Google Charts

javascript - Apollo /graphQL : How to use optimistic UI for a mutation of a nested react component?

javascript - 错误 : Webpack 2 can't resolve babel-loader