运行ng test

时间:2018-06-12 08:12:26

标签: node.js angular angular-cli karma-runner angular6

我刚刚升级到Angular 6,但现在我们的Jenkins构建失败了。

正在运行此命令:

ng test -c karma.conf.cli.js

但错误是:

  

在项目'projectname'

中找不到配置'karma.conf.cli.js'

但是,有问题的文件存在于项目的根目录中。这个命令在Angular 5上运行正常。任何想法?感谢

仅供参考我可以通过在构建服务器上运行相同的命令来重现错误。我们刚刚将Node.js升级到v8.11.2(最新LTS)

3 个答案:

答案 0 :(得分:5)

在Angular Cli的版本6中,命令的选项已更改,而应使用X1:X1000-c来代替--karma-config。您可以看到所有选项here

答案 1 :(得分:1)

我尝试了很多,为我工作的人如下。在您的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作为在角度cli配置文件的配置部分中设置的配置文件,并使用该配置文件运行单元测试。

答案 2 :(得分:0)

在Angular 6之后,我在詹金斯(Jenkins)遇到了同样的问题,我通过替换来解决:

ng test --single-run --browsers ChromeHeadless -cc 

具有:

ng test --watch=false --browsers ChromeHeadless --code-coverage