【发布时间】:2020-02-06 21:25:59
【问题描述】:
我正在为我的 Angular 项目使用带有 Jest 的单元测试。设置工作正常,除非我想在路径中使用“+”测试文件,例如对于路径为“src/lib/+state/auth.effects.spec.ts”的文件。
我运行测试
jest src/lib/+state/auth.effects.spec.ts
控制台输出是
No tests found, exiting with code 1
Run with `--passWithNoTests` to exit with code 0
In /Users/luki/Applications/givve/lunch-admin-webapp/libs/auth
68 files checked.
testMatch: **/+(*.)+(spec|test).+(ts|js)?(x) - 17 matches
testPathIgnorePatterns: /node_modules/ - 68 matches
testRegex: - 0 matches
Pattern: src/lib/+state/auth.effects.spec.ts - 0 matches
我猜问题出在
的开玩笑配置部分testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)']
不幸的是,在状态文件前加上“+”是项目中的命名约定。
任何想法如何包含这些文件?
【问题讨论】:
-
我认为问题不在于“+” - 您是否尝试将其重命名以进行测试?
-
您的路径可能不正确(我不确定,因为使用 NX 工作区和“+”有效)。尝试在没有路径的情况下运行所有测试并查看是否有这些测试。
-
如果我将目录重命名为“state”,测试会按预期运行。如果我运行所有测试,也会运行提到的规范。仅当命令中的路径以特定文件为目标时才会出现此问题,如描述中所述。