【发布时间】:2021-07-14 14:26:04
【问题描述】:
我有一个通过 Jest 进行工作测试的 nestjs monorepo 应用程序。这与全局单元测试有关,它们从 package.json 中的 nestjs CLI 创建的配置中获取配置。
我的 storage.service.ts 在其中一种方法中使用 jimp 来调整图像大小。
这具有依赖于@jimp/gif 的@jimp/types 依赖关系,而@jimp/gif 又依赖于gifwrap。
对于在我的控制台中运行的每个测试,我都会看到以下错误:
ReferenceError: You are trying to `import` a file after the Jest environment has been torn down.
at node_modules/.pnpm/gifwrap@0.9.2/node_modules/gifwrap/src/gifcodec.js:7:15
我也在使用 beforeAll() 和 afterAll() 钩子来关闭 nestjs 模块。
笑话配置:
"jest": {
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": ".",
"testRegex": ".*\\.spec\\.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"collectCoverageFrom": [
"**/*.(t|j)s"
],
"coverageDirectory": "./coverage",
"testEnvironment": "node",
"roots": [
"<rootDir>/apps/",
"<rootDir>/libs/"
],
"moduleNameMapper": {
...
我怎样才能消除这个错误,或者甚至像修复它一样大胆?
【问题讨论】:
-
这个问题你解决了吗?
-
这个人运气好吗?
-
很遗憾,不,我相信降级到另一个打字稿版本,特别是
4.0.6并使用yarn而不是pnpm暂时解决了问题,但不是永久解决方案 -
我使用的是 JS 而不是 TS,这也发生在我身上,我已将
jimp版本从0.10.x更新为0.16.1
标签: jestjs nestjs nestjs-testing