当测试中存在异常时,让Jenkins解析xunit.xml报告文件时遇到问题。XML看起来格式正确,因此仅查看它就看不到任何问题。我在某处可以比较xml的xsd文件,看看实际上是什么导致文件无法解析?
关于我的设置:我在詹金斯(Jenkins)为一个PHP项目设置了一份夜间工作。我们正在使用Cakephp 1.3,因此我们仍在使用SimpleTest而不是PHPUnit。我能弄清楚在使用simpletest时轻松生成报告xml的唯一方法是使用stagehand_testrunner(http://redmine.piece- framework.com/projects/stagehand-testrunner)。在我的构建脚本中,我做了类似的事情:cakerunner –cakephp-app-path = src / app –log- junit = build / test-results / junit.xml -R src / app / tests
这很好用,但是如果测试中抛出异常,jenkins将无法解析junit.xml。
我真傻。我相信,stagehand-test运行器已经将生成的xml格式化为JUnit格式。我试图将JUnit xml报告从PHPUnit转换为JUnit。
在Jenkins中,我需要使用选项“发布JUnit测试结果报告”而不是“发布测试工具结果报告”。后者用于与其他测试框架一起将它们转换为JUnit格式。由于我已经有一个JUnit格式的文件,因此不需要转换它。
我需要验证这一点,但我相信情况确实如此。
当我们转向CakePHP 2.0并使用PHPUnit时,我将感到高兴。