Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
Unit testing 无法查看新项目上的代码覆盖率_Unit Testing_Angular_Angular Cli - Fatal编程技术网

Unit testing 无法查看新项目上的代码覆盖率

Unit testing 无法查看新项目上的代码覆盖率,unit-testing,angular,angular-cli,Unit Testing,Angular,Angular Cli,我正试图找出如何使用@angular/cli获得代码覆盖率,但到目前为止,我运气不太好 我使用angular CLI启动了一个新项目。基本上我所做的就是ng新的测试覆盖率,一旦所有东西都安装到我的新项目文件夹中,我就做了ng测试——代码覆盖率。测试已成功运行,但浏览器中未显示类似代码覆盖率的内容 我是否缺少一些依赖项或其他内容?任何帮助都将不胜感激 编辑: R.Richards和Rachid Oussanaa是对的,文件确实会生成,我可以通过打开index.html来访问它 现在我想知道,是否有

我正试图找出如何使用@angular/cli获得代码覆盖率,但到目前为止,我运气不太好

我使用angular CLI启动了一个新项目。基本上我所做的就是
ng新的测试覆盖率
,一旦所有东西都安装到我的新项目文件夹中,我就做了
ng测试——代码覆盖率
。测试已成功运行,但浏览器中未显示类似代码覆盖率的内容

我是否缺少一些依赖项或其他内容?任何帮助都将不胜感激

编辑: R.Richards和Rachid Oussanaa是对的,文件确实会生成,我可以通过打开index.html来访问它


现在我想知道,是否有一种方法可以将其集成到node命令中,以便在测试运行后立即打开文件?

以下是您可以执行的操作:

install,这是一个用于流行软件包的cli,该软件包是一个用于在默认应用程序中打开文件的跨平台工具

npm安装-D opn cli
-D
作为开发人员依赖项安装

package.json
中,在
scripts
下添加一个脚本,如下所示

"scripts": {
    ...
    "test-coverage": "ng test --code-coverage --single-run && opn ./coverage/index.html"
}
现在运行
npm运行测试覆盖率
这将运行我们定义的脚本。以下是对该脚本的解释:

  • ng测试——代码覆盖率——单次运行
    将只运行一次覆盖率测试,因此
    ——单次运行
  • 如果第一个命令成功,则基本上执行第二个命令
  • opn./coverage/index.html
    将打开该文件,而不考虑平台

覆盖目录中是否有输出?应该有一个index.html文件,您可以查看。angular-cli将在您的项目目录中生成一个覆盖率目录就是它!谢谢你们,我不知道我怎么会错过那个。。。有没有办法将其集成到
ng test
命令中?(所以它会在测试运行时显示,还是每次都必须手动运行?)谢谢,工作得很好。我只是使用了htt服务器而不是opnI。我真的不建议为此运行http服务器,但是如果你坚持认为它可以运行,那么就试试吧:)呵呵,谢谢你的建议。看起来已经足够轻了,但如果结果是太麻烦了,我会切换到opn。或者可以。我只是觉得
httpserver
将来可能会给您带来麻烦
http服务器
也比
opn
有更多的依赖关系,我认为它的磁盘大小要大得多。