运行“npm测试”时出现以下错误:
FAIL __tests__/unit/domain/services/demo-service.ts
● Test suite failed to run
TypeError: Jest: a transform must export a `process` function.
at ScriptTransformer._getTransformer (node_modules/@jest/transform/build/ScriptTransformer.js:357:15)
at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:419:28)
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:523:40)
at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
4条答案
按热度按时间gab6jxml1#
ts-jest
主要版本必须与jest
主要版本匹配;例如:wtlkbnrh2#
可能是jest版本的问题,我尝试使用26.5.5,这对我很有效。
如果您使用的是npm,您可以安装以下软件包:
6gpjuf903#
在我的例子中,配置使用
babel-jest
+@babel/preset-typescript
而不是ts-jest
。因此,我必须确保
babel-jest
和jest
具有相同的主版本。rbl8hiat4#
在我的例子中,我最初使用的是
jest v24.x.x
。当我更新到v 27.5.1
时,我遇到了这个变压器问题。我没有使用基于TS的项目,因此没有
ts-jest
依赖项。我通过更改到
而且我还得补充一句
属性添加到jest配置中,因为现在jest支持不同的测试环境(在
v24.x.x
中不是这样)。如果您使用
node
env进行测试,则必须将core-js
包和import
安装到特定的测试文件中。