由于 babel 没有正确转译代码,所有测试都失败了。
下面是来自控制台的错误。
Jest encountered an unexpected token
This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.
By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".
Here's what you can do:
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/en/configuration.html
Details:
13 |
14 |
> 15 | import type { CreateUserInput, CreateSlackTeamInput } from "graphql-types";
下面是我的 Babel 配置。
{
"presets": [
"es2015"
]
}
最佳答案
我能够在本地重现您的问题并通过将 babel-preset-flow
添加到 devDependencies 并将预设添加到 .babelrc
来解决它。它失败的原因是 import type
语法未包含在 es2015
babel 预设中。
更新后的 .babelrc
文件将如下所示:
{
“预设”:[
“es2015”,“流”
]
}
关于testing - 使用 babel 转译 javascript 代码的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51683010/