Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 运行ng测试时在项目中找不到配置_Node.js_Angular_Angular Cli_Karma Runner_Angular6 - Fatal编程技术网

Node.js 运行ng测试时在项目中找不到配置

Node.js 运行ng测试时在项目中找不到配置,node.js,angular,angular-cli,karma-runner,angular6,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在Angular 6之后,我在Jenkin

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

它正在运行以下命令:

ng test -c karma.conf.cli.js
但错误在于:

在项目“projectname”中找不到配置“karma.conf.cli.js”

但是,该文件存在于项目的根目录中。此命令在Angular 5上运行良好。有什么想法吗?谢谢


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

在Angular 6之后,我在Jenkins遇到了同样的问题,我通过替换以下内容解决了这个问题:

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


在Angular 6之后,我在Jenkins遇到了同样的问题,我通过替换以下内容来解决:

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


在Angular Cli的版本6中,命令的选项已更改,请使用-c,而应使用-karma config或-configuration。您可以看到所有选项。

在Angular Cli的版本6中,命令的选项已更改,请使用-c,而应使用-karma config或-configuration。您可以看到所有选项。

我尝试了许多,其中一个对我有效,如下所示。在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.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项目以检查发生了什么,结果完全相同。听起来很奇怪,我在这里提出了一个GitHub错误报告。。。如果手动运行相同的命令,结果是什么?创建新的angular 6项目以检查发生了什么,结果完全相同。听起来很奇怪,我在这里提出了一个GitHub错误报告-karma-config看起来非常有希望,+1用于尝试,当我再次着手研究这个问题时,我会接受你的答案,如果答案正确-我确信它是正确的-许多thx karma-config看起来非常有希望,+1用于尝试,当我再次着手研究这个问题时,我会接受你的答案,如果答案正确-我确信它是正确的-许多thx