Kev*_*sen 7 intellij-idea jestjs angular
上周我们的项目从 Angular 15 更新到了 Angular 16。我们之前使用 jest-preset-Angular 的 Jest 配置现在使用内置的实验性 Jest 支持。
我们做了两个相关的改变:
我们已将以下内容添加到我们的angular.json:
"test": {
"builder": "@angular-devkit/build-angular:jest",
"options": {
"tsConfig": "tsconfig.spec.json",
"polyfills": [
"zone.js",
"zone.js/testing"
]
}
}
Run Code Online (Sandbox Code Playgroud)
"test": "jest --silent""test": "ng test"在我们的 package.json 脚本中更改为。
ng test当我们使用或一次运行所有单元测试时npm test,一切都会按预期进行。
然而,当我们尝试在 IntelliJ 中运行单独的测试时,它会给出不相关的错误。我很确定这是因为它仍然尝试运行单元测试而jest不是@angular-devkit/build-angular:jest.
当我查看 Jest 单元测试的运行配置时,我看到 Jest 包的以下内容:...\node_modules\jest。
我怎样才能将其更改为使用的 Jest @angular-devkit/build-angular?或者我还应该更改其他内容,以便使用新的 Angular 16 实验性 Jest 支持在 IntelliJ 中运行单独的 Jest 单元测试?
更新:我在第一条评论中尝试了@Oksana的建议更改:
jest更改为我们的jest:run在线"builder": "@angular-devkit/build-angular:jest",angular.json...\node_modules\@angular\cli而不是...\node_modules\jest我还使用 IntelliJ 版本 2023.1.2(终极版)。
但不幸的是,当我运行测试(使用修改后的运行配置)时,我现在收到以下错误:
测试框架意外退出错误
:未知参数:颜色、记者、详细
这也是当前运行配置的屏幕截图:
我通过两个步骤解决了这个问题。
@angular-builders/jest,您可能需要指定版本,即如果在 Angular 16 上运行npm install @angular-builders/jest@16,否则只需 anpm install @angular-builders/jest就足够了@angular-builders/jest:run我的最终 angular.json 测试配置如下所示:
"test": {
"builder": "@angular-builders/jest:run",
"options": {
"polyfills": [
"zone.js",
"zone.js/testing"
],
"tsConfig": "tsconfig.spec.json"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2256 次 |
| 最近记录: |