我有一个使用angular-cli开发的应用程序。作为构建过程的一部分,我们运行单元测试并在VSTS中显示结果。
如何以xml格式生成单元测试结果,以便我可以将其与VSTS集成?
提前致谢。
答案 0 :(得分:3)
假设integrate it with VSTS
表示使用发布测试结果任务将您的单元测试结果发布到VSTS。您可以使用karma-junit-reporter
karma-junit-reporter 是Karma的一个插件,它允许我们以XML格式获取测试输出,以便VSTS可以很好地为我们呈现它。
默认情况下,VSTS能够以JUnit格式处理JavaScript单元测试。 Karma有一个可以安装的JUnit记者:
npm install karma-junit-reporter --save-dev
这可以添加到Karma配置文件中。现在,您可以使用--reporters=junit
标志运行测试,测试运行将生成名为TESTS-browser_(platform).xml
的文件。
例如,Windows 10上的本地运行会创建TESTS-Chrome_54.0.2840_(Windows_10_0.0.0).xml
。如果打开文件,您将看到定义各种测试用例的XML,它们运行了多长时间,甚至是一个保存控制台输出的结构。
除了建议您为浏览器使用 PhantomJS 所谓的无头浏览器。无头浏览器是一种只在后台运行的浏览器,您只能通过代码或终端进行交互。
最后使用ng test
命令执行测试并发布测试结果:
有关详细信息,您可以查看以下精彩博客: