使用 npm 运行 从 package.json 执行 ng 测试时不能使用 --include

Cannot use --include when executing ng test from package.json using npm run

我正在尝试 运行 测试单个文件(我的 firestore 规则文件)。当我在项目的根目录中从命令行使用以下命令时,它 运行 没问题:

ng test --include 'src/firestore-test/*.spec.ts'

我将以下内容放入我的 package.json 脚本部分:

"test:rules": "ng test --include 'src/firestore-test/*.spec.ts'",

但是,当我使用“npm 运行 test:rules”时,出现以下错误:

发生未处理的异常:指定的模式:“'src/firestore-test/**.spec.ts'”不匹配任何规范文件。*

为什么命令在命令行中输入时可以正常工作,但在 运行 作为脚本时却不能?

我在 src/firestore-test 的文件夹中创建了一个带有随机测试的快速示例项目,结果与您相同。

我不确定为什么,我在 PowerShell 终端中 运行 它,但如果我删除 include 参数的单引号,它会起作用。

所以试试这个:

"test:rules": "ng test --include src/firestore-test/*.spec.ts",

默认 Windows 命令提示符给出与 Bash 相同的结果。我不确定 MacOS 或 Linux 会如何处理它,因为我无法访问它们,但我认为删除脚本定义中的单引号应该是一个不错的解决方案。