尽管在 package.json 中进行了配置,但 monorepo 中应用程序的 Nestjs e2e 测试无法使用 jest 解析从库中导入的@app
Nestjs e2e testing of an application within a monorepo fails to resolve @app import from library with jest despite config in package.json
我正在尝试 运行 对 monorepo 应用程序进行端到端测试,该应用程序还利用 monorepo 中的多个库,整个应用程序中的所有导入都使用“@app”导入解析,例如 import { ConfigService } from "@app/config"
但是,当尝试通过以下命令 运行 端到端测试时:
"test:public": "jest --config ./apps/public-microservice/test/jest-e2e.json",
开玩笑:
Cannot find module '@app/config' from '../src/public-microservice.module.ts'
我查看了 this demo-repo from @jmcdo29,没有发现任何与我的配置不同的地方。
我注意到有一个关于通过 jest here in 2019 生成错误配置的问题,但它早已解决,我在 package.json 中对 jest 的配置确实提到:
"moduleNameMapper": {
"@app/config/(.*)": "<rootDir>/libs/config/src/",
"@app/config": "<rootDir>/libs/config/src",
而package.json脚本命令的本地目标文件只包含:
{
"moduleFileExtensions": ["js", "json", "ts"],
"rootDir": ".",
"testEnvironment": "node",
"testRegex": ".e2e-spec.ts$",
"transform": {
"^.+\.(t|j)s$": "ts-jest"
}
}
我的命令或配置中是否缺少某些内容?
我需要指定什么来告诉 jest 扩展 package.json 中可用的 jest 配置吗?
非常感谢任何投资方面的帮助,谢谢。
我将“moduleNameMapper”键添加到我的 jest e2e 套件配置中并更新了“../”相对路径以匹配我的库所在的位置,在我的特定情况下,它看起来像这样:
"moduleNameMapper": {
"@app/config/(.*)": "<rootDir>../../../libs/config/src/",
"@app/config": "<rootDir>../../../libs/config/src",
},
我正在尝试 运行 对 monorepo 应用程序进行端到端测试,该应用程序还利用 monorepo 中的多个库,整个应用程序中的所有导入都使用“@app”导入解析,例如 import { ConfigService } from "@app/config"
但是,当尝试通过以下命令 运行 端到端测试时:
"test:public": "jest --config ./apps/public-microservice/test/jest-e2e.json",
开玩笑:
Cannot find module '@app/config' from '../src/public-microservice.module.ts'
我查看了 this demo-repo from @jmcdo29,没有发现任何与我的配置不同的地方。
我注意到有一个关于通过 jest here in 2019 生成错误配置的问题,但它早已解决,我在 package.json 中对 jest 的配置确实提到:
"moduleNameMapper": {
"@app/config/(.*)": "<rootDir>/libs/config/src/",
"@app/config": "<rootDir>/libs/config/src",
而package.json脚本命令的本地目标文件只包含:
{
"moduleFileExtensions": ["js", "json", "ts"],
"rootDir": ".",
"testEnvironment": "node",
"testRegex": ".e2e-spec.ts$",
"transform": {
"^.+\.(t|j)s$": "ts-jest"
}
}
我的命令或配置中是否缺少某些内容?
我需要指定什么来告诉 jest 扩展 package.json 中可用的 jest 配置吗?
非常感谢任何投资方面的帮助,谢谢。
我将“moduleNameMapper”键添加到我的 jest e2e 套件配置中并更新了“../”相对路径以匹配我的库所在的位置,在我的特定情况下,它看起来像这样:
"moduleNameMapper": {
"@app/config/(.*)": "<rootDir>../../../libs/config/src/",
"@app/config": "<rootDir>../../../libs/config/src",
},