部分 Angular 17 测试未执行

问题描述 投票:0回答:1

我有一个带有一些测试的 Angular 应用程序,其中还包含一个带有自己测试的库,例如

app/projects/my-lib
。我遇到的问题是库中的测试没有被执行。另外,我尝试从库中执行特定测试,我得到:

ng test --include projects/my-lib/myfile.spec.ts

Executed 0 of 0 SUCCESS (0.003 secs / 0 secs)
TOTAL: 0 SUCCESS

这就是我的

angular.json

"test": {
      "builder": "@angular-devkit/build-angular:karma",
      "options": {
        "polyfills": ["zone.js", "zone.js/testing"],
        "tsConfig": "tsconfig.spec.json",
        "preserveSymlinks": true
      }
    },

这是 tsconfig.spec.json:

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "outDir": "./out-tsc/spec",
    "types": [
      "jasmine",
      "node"
    ]
  },
  "include": [
    "**/*.spec.ts",
    "**/*.d.ts"
  ]
}

来自

src/
的测试工作正常,但来自
projects/
的测试被忽略。 我搜索了不同的解决方案,但都提到了 Angular 17 中不再存在的一些文件,例如
test.ts
karma.conf.js
。 请告知可能有什么问题。谢谢!

angular testing karma-jasmine
1个回答
0
投票

在常规 Angular 工作区中,您通常有一个

projects
文件夹,其中包含多个应用程序和/或库 (https://angular.io/guide/creating-libraries)。
angular.json
包含您工作区中所有项目的配置。

如果您有一个

my-lib
项目,那么您应该有类似的内容:

...
"projects": {
  "my-lib": {
    ...
    "sourceRoot": "projects/my-lib",

...并且您应该能够使用

my-lib
运行
ng test my-lib
中的测试。希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.