运行 ng 测试时无法在项目中找到配置
Configuration could not be found in project when running ng test
我刚刚升级到 Angular 6,但现在我们的 Jenkins 构建失败了。
是运行这条命令:
ng test -c karma.conf.cli.js
但是错误是:
Configuration 'karma.conf.cli.js' could not be found in project 'projectname'
但是,有问题的文件存在于项目的根目录中。此命令在 Angular 上 运行 没问题 5. 有什么想法吗?谢谢
仅供参考,我可以在构建服务器上通过 运行 相同的命令重现错误。我们还刚刚将 Node.js 升级到 v8.11.2(最新的 LTS)
我在 Angular 6 之后在 Jenkins 中遇到了同样的问题,我通过替换解决了:
ng test --single-run --browsers ChromeHeadless -cc
与:
ng test --watch=false --browsers ChromeHeadless --code-coverage
在 Angular CLI 的第 6 版中,命令选项已更改,改为使用 -c
,您应该使用 --karma-config
或 --configuration
。您可以看到所有选项 here.
我尝试了很多,对我有用的如下。在您的 angular.json
文件中添加下面测试中的配置部分。
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
....
},
"configurations": { // this will hold a different configuration
"jenkins": {
"karmaConfig": "./karma.conf.ci.js"
}
}
},
然后在 运行 测试时将此配置与 --configuration jenkins
选项一起使用。所以最后的命令将是
ng test --configuration jenkins
它将选择 karma.conf.ci.js
作为配置文件,因为它在 angular cli 配置文件的配置部分中设置,并且 运行 使用该配置文件进行单元测试。
我刚刚升级到 Angular 6,但现在我们的 Jenkins 构建失败了。
是运行这条命令:
ng test -c karma.conf.cli.js
但是错误是:
Configuration 'karma.conf.cli.js' could not be found in project 'projectname'
但是,有问题的文件存在于项目的根目录中。此命令在 Angular 上 运行 没问题 5. 有什么想法吗?谢谢
仅供参考,我可以在构建服务器上通过 运行 相同的命令重现错误。我们还刚刚将 Node.js 升级到 v8.11.2(最新的 LTS)
我在 Angular 6 之后在 Jenkins 中遇到了同样的问题,我通过替换解决了:
ng test --single-run --browsers ChromeHeadless -cc
与:
ng test --watch=false --browsers ChromeHeadless --code-coverage
在 Angular CLI 的第 6 版中,命令选项已更改,改为使用 -c
,您应该使用 --karma-config
或 --configuration
。您可以看到所有选项 here.
我尝试了很多,对我有用的如下。在您的 angular.json
文件中添加下面测试中的配置部分。
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
....
},
"configurations": { // this will hold a different configuration
"jenkins": {
"karmaConfig": "./karma.conf.ci.js"
}
}
},
然后在 运行 测试时将此配置与 --configuration jenkins
选项一起使用。所以最后的命令将是
ng test --configuration jenkins
它将选择 karma.conf.ci.js
作为配置文件,因为它在 angular cli 配置文件的配置部分中设置,并且 运行 使用该配置文件进行单元测试。