6

我试图用 Bamboo 将一些自动化单元测试添加到我的项目中,并且遇到了一些问题。单元测试本身是使用 googletest 完成的,它会创建一个与 JUnit 解析器兼容的 XML 文件。

但是,执行 Bamboo 的 JUnit Parser 时出现以下错误:

02-Apr-2013 12:11:22 Starting task ''Parse UnitTest output' of type 'com.atlassian.bamboo.plugins.testresultparser:task.testresultparser.junit'
02-Apr-2013 12:11:22 Parsing test results...
02-Apr-2013 12:11:22 Failing task since test cases were expected but none were found.
02-Apr-2013 12:11:22 Finished task 'Parse UnitTest output'

这似乎与 .xml 文件本身没有任何关系,因为我已经尝试了一些。这包括我自己的 output.xml,由 googletest 生成,以及来自https://confluence.atlassian.com/display/BAMBOO/JUnit+parsing+in+Bamboo的示例输出。
我还针对两个提议的 .xsd 文件调整了上述文件,这应该与 JUnit Parser 期望的输出相匹配,但都没有效果。

更新:
到目前为止,我告诉 JUnit Parser 寻找 ${bamboo.build.working.directory}/output.xml
当我尝试 **/*.xml 时它起作用了。
以我现在的理解,在非常仔细地阅读了任务描述之后,我必须给它一个文件夹。但是我也可以给它文件,如果我以 ant 风格(用 glob?)来做。这至少非常令人困惑,并且仍然没有完全回答最初的问题。所以如果有人能启发我,请做。

4

1 回答 1

3

这是一个超级古老的问题,我想我会为后代添加一个答案。正如一些人评论的那样,测试输出文件的配置值需要一个相对路径。问题是,相对于什么?

我认为这个问题的答案取决于你如何配置你的源存储库,但通常它与你的项目的根目录有关。如果一切都失败了,看看竹子在签出时把你的源代码放在哪里;这将是竹子附加测试输出搜索路径的目录。

对于配置语法,可以使用 ant 样式模式是正确的(学习 Ant 路径样式供参考)。

举个例子,如果您的本地计算机上有一个项目位于C:\git\MyProject,并且您的测试结果最终位于C:\git\MyProject\Output\Tests\output.xml,那么您将Output/Tests/output.xml在相应任务配置的“指定自定义结果目录”字段中指定。您还可以使用Output/**/*.xml搜索输出目录中的所有 .xml 文件。

于 2015-07-27T21:06:01.857 回答