7

在运行“ng test”命令时将 Angular 7 项目转换为 Angular Universal,错误为“ Incomplete: No specs found, , randomized with seed 48751”。尝试了不同的方式提及stackoverflow,但对我没有任何帮助。

ERROR in ./src/polyfills.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
Error: ../src/polyfills.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
    at AngularCompilerPlugin.getCompiledFile (../node_modules/@ngtools/webpack/src/packages/ngtools/webpack/src/angular_compiler_plugin.ts:1024:15)
    at plugin.done.then (../node_modules/@ngtools/webpack/src/packages/ngtools/webpack/src/loader.ts:49:29)
    at process._tickCallback (internal/process/next_tick.js:68:7)
 @ multi ./src/polyfills.ts ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js polyfills[0]

预期的输出是 ng test 命令正常运行而不会出现任何问题,以便我的单元测试用例能够执行。

4

5 回答 5

8

最终经过大量实验得到了解决方案。只需添加

`"include": [
    "**/*.spec.ts",
    "**/*.d.ts",
    "**/*.ts"
  ]`

在“tsconfig.spec.json”中希望这有帮助:)

于 2019-09-17T12:18:47.690 回答
4

如果某些单元测试文件中存在一些编译错误,则可能会发生此错误,如果发生这种情况,将在运行“ng test”的命令提示符中看到编译错误。

例如,内置的“app.component.spec.ts”包含一个期望标题变量具有 App 标题的测试。如果您从“app.component.ts”中删除了这个变量,测试仍然包含它的事实不会导致构建失败,但在运行测试时会发生错误。

于 2021-08-01T18:20:10.330 回答
1

你只需要有正确的路径。

我在 tsconfig.spec.json 文件中遇到了很多错误:

          "files": [
            "test.ts",
            "polyfills.ts"
          ],
          "include": [
            "**/*.spec.ts",
            "**/*.d.ts"
          ]

然后,在将路径更改为以下内容后,我得到了一切:

          "files": [
            "src/test.ts",
            "src/polyfills.ts"
          ],
          "include": [
            "src/**/*.spec.ts",
            "src/**/*.d.ts"
          ]
于 2020-07-31T13:46:35.240 回答
1

对我来说,实际上是导致它的编译错误。我还收到:

error TS2591: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node` and then add `node` to the types field in your tsconfig.

"types": ["node"]通过在 中添加和 "typeRoots": ["node_modules/@types"]来修复它tsconfig.spec.json,使其最终看起来像这样:

{
  "extends": "./tsconfig.base.json",
  "compilerOptions": {
    "outDir": "./out-tsc/spec",
    "types": [
      "jasmine",
      "node"
    ],
    "typeRoots": ["node_modules/@types"]
  },
  "files": [
    "src/test.ts",
    "src/polyfills.ts"
  ],
  "include": [
    "src/**/*.spec.ts",
    "src/**/*.d.ts"
  ]
}
于 2020-08-21T12:28:24.183 回答
0

检查您的 angular.json 文件。您可能有错误的配置。脚本文件在样式中,或者样式在脚本中。

我的样式标签中包含的文件很少.js,导致问题。

于 2021-02-20T10:09:20.547 回答