Jenkins未拾取junit格式的报告,从而导致该报告未在项目的状态屏幕中列出。
格式为junit的报告数据由称为Karma- runner(以前称为Testacular)的测试框架生成。被忽略的文件创建在/target/surefire- reports-与创建surefire生成的报告的位置相同的位置。报表数据的外观几乎相同所产生的行家万无一失插件除了它的父元素<testsuites>,而不是<testsuite>- <testsuite>是什么万无一失生成的报告有一个报告文件的父元素。这是业力生成的junit格式的报告的摘录,名为TEST- karma.resultsTest.xml:
/target/surefire- reports
<testsuites>
<testsuite>
TEST- karma.resultsTest.xml
Junit格式的业力生成的报告文件,TEST-karma.resultsTest.xml
TEST-karma.resultsTest.xml
<?xml version="1.0"?> <testsuites> <testsuite name="PhantomJS 1.9 (Mac)" package="karma.tests" timestamp="2013-04-10T13:32:26" id="0" hostname="jgmbp.local" tests="16" errors="0" failures="0" time="0.069"> <properties> <property name="browser.fullName" value="Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.0 Safari/534.34"/> </properties> <testcase name="successfully cancels a new member" time="0.006" classname="karma.tests PhantomJS 1.9 (Mac).Household Controller"/> <testcase name="should parse an existing re-eval create date, setting the data in scope" time="0.003" classname="karma.tests PhantomJS 1.9 (Mac).Re-Eval Controller"/> <system-out><![CDATA[ ]]></system-out> <system-err/> </testsuite> </testsuites>
Karma测试在我的Maven构建的测试阶段中运行。我尝试创建仅生成一个junit- report文件以及运行生成的项目,以便所有junit测试和业力测试都生成报告文件。詹金斯(Jenkins)将始终接受surefire测试,但绝不会进行业力测试。
感谢您的输入!
终于有了amey和Wouter的投入,终于有时间弄清楚了。
关键是我正在构建一个Maven项目,并且无法显示业力测试。显示业力结果的唯一方法是为Junit测试添加构建后报告。由于某些原因,基于Maven的作业无法为您提供添加junit报告的选项。
解决方案是创建一个自由形式的作业,而不是一个maven作业 。您可以配置自由格式作业来构建Maven项目。只要您在上面每个amey的帖子中添加publishing junit任务,一切都很好。