2011-10-13 33 views
0

我的部门使用持续集成,但我们的产品和流程不适合应立即修复错误(长时间运行,共享资源,旧VCS工具等)的模型。尽管如此,CI仍然能够快速发现问题并识别罪魁祸首。我有一个脚本,它可以读取JUnit XML文件并确定哪些失败过滤并编写新的过滤输出文件,但是我希望在文件中包含可在CI工具中看到的信息,这些信息解释了过滤的原因。不幸的是,测试用例和测试套件似乎缺少一个节点。在我可以放置这些信息的格式中是否有位置?在JUnit文件中过滤错误/失败的最佳方法是什么?

<testsuites> 
    <testsuite name="name"> 
    <testcase name="name"> 
     <failure>some message</failure> 
    </testcase> 
    </testsuite> 
</testsuites> 

成类似:

<testsuites> 
    <testsuite name="name"> 
    <testcase name="name"> 
     <failure>some message 
Filtered: See bug #####</failure> 
    </testcase> 
    </testsuite> 
</testsuites> 

回答

0

你可以简单地修改测试。如果当前的代码

Assert.fail("some message") 

将其更改为

Assert.fail("some message\nFiltered: See bug #####") 

您可以添加一条消息,声称...的方法了。使用

Assert.assertEquals("Filtered: See bug #####", expectedValue, actualValue) 

,而不是

Assert.assertEquals(expectedValue, actualValue) 
+0

的过滤器被应用后的测试,所以我不能修改的测试。我已经有了一个脚本,它修改了JUnit文件来附加所描述的消息。但是,我有的问题是文件被CI工具读取,它仍然认为测试失败。我可以删除节点,但是我没有任何有关失败的细节,并且它已被过滤。 似乎只适用于测试套件,不是吗? – dromodel

相关问题