编译 angular 测试时如何排除文件

How to exclude a file when compiling angular tests

我有一个 Angular 7 应用程序是使用 angular cli 创建的。

当我 运行 ng-test 时,我想从编译过程中排除一个文件。

我要排除的文件是"app/config/context.prod.ts"

我将以下部分添加到我的 tsconfig.spec.ts 文件中,该文件位于 src 文件夹中:

"exclude": [
    "app/config/context.prod.ts"
  ],

但是没用。我尝试将此条目添加到父 ts.config,位于上述文件夹中:

"exclude": [
    "src/app/config/context.prod.ts"
  ]

还是不开心。包含此文件后,构建会失败,我希望它在包含时会失败,但我不希望它失败。

ng 构建有效。我通过更新我的 tsconfig.app.ts 文件使 ng build 工作,与 tsconfig.spec.ts.

完全相同

我做错了什么?

我的 tsconfig.spec.ts 文件:

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/spec",
    "types": [
      "jasmine",
      "node"
    ]
  },
  "exclude": [
    "app/config/context.prod.ts"
  ],
  "files": [
    "test.ts",
    "polyfills.ts"
  ],
  "include": [
    "**/*.spec.ts",
    "**/*.d.ts"
  ]
}

问题是我们的一些测试正在导入问题文件中包含的 class,即:

import { Context } from "../config/context.prod";

删除了导入,它起作用了。