尝试将convert this project转换为使用these instructions的jest。除了使用paths
配置的文件之外,我的所有功能都正常:
"paths": {
"@fs/*": ["./src/*"],
"@test/*": ["./test/*"]
}
运行测试时,似乎import语句未解析,并记录了以下情况:
Cannot find module '@fs/container/validation/ValidationContext' from 'Core.spec.ts'
1 | import { ValidationOptions } from "@fs/container/validation/ValidationOptions";
> 2 | import { ValidationContext } from "@fs/container/validation/ValidationContext";
| ^
3 | import { ValidationContainer } from "@fs/container/validation/ValidationContainer";
4 |
5 | import { Core1 } from "@test/core/Core1";
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:221:17)
at Object.<anonymous> (test/core/Core.spec.ts:2:1)
有没有办法在解析导入时让jest/ts-jest包含@paths
?
3条答案
按热度按时间ybzsozfc1#
我想解析从
~/
开始到我的<baseUrl>/<moduleName>
的模块路径。感谢OJ Kwon链接我解决了它(给予他点)。
tsconfig.json文件名
请参阅模块解析路径Map文档
jest配置
然后我们需要告诉
jest
也解析路径。vmjh9lq92#
将jest.config.js添加到根项目文件夹中,内容如下。
还要确保您的
tsconfig.json
文件有一个paths
字段,如下所示:mwkjh3gx3#
jest不能荣誉tsconfig的路径Map,因为它是ts编译器时间,所以jest配置应该有相应的modulenamemapper来解析别名路径。