3

首先,我应该指出我对 Atlassian 的 Bamboo 和一般的持续集成是新手。这是我使用过的第一个项目。

我使用 tSQLt 框架创建了大量的单元测试。我还将 Bamboo 配置为:

  • 从 BitBucket 获取存储库的新副本
  • 删除并重新创建构建数据库
  • 使用 Red-Gate SQL Compare 将数据库对象从源部署到构建数据库
  • 运行 tSQLt 测试
  • 将测试结果以 XML 格式输出到名为 TestResults.xml 的文件中

我已经检查并可以确认 TestResults.xml 文件已创建。

然后我在 Bamboo 中添加了一个 JUnit Parser 任务来使用这个 TestResults.xml 文件的内容。但是,当该任务运行时,它会返回此错误:

Failed to parse test result file

起初我认为这可能意味着 Bamboo 找不到该文件。我将创建结果文件的任务更改为输出名为 TestResults2.xml 的文件。当我这样做时,JUnit Parser 返回了这个错误:

Failing task since test cases were expected but none were found.

所以我假设第一条错误消息意味着 Bamboo 正在查找文件,它只是无法解析文件。

我不知道从哪里开始找出问题所在。有没有人有任何想法?

4

2 回答 2

2

我有几个这样的案例,并且能够通过从 *.rb 文件中的测试名称中删除单引号大于/小于字符来修复它。

例子

测试“确保 'go_to_world' 已从标头中删除且长度 < 23”

更改以删除单引号和 < 符号

测试“确保从标题中删除 go_to_world 并且长度小于 23”

很常见的是缩略语:“不会不应该不应该”,或所有格:“容器的数据”。

还有< 或 >字符。

我认为解析器中存在一个错误,它不能适当地转义测试标题中的这些字符。

于 2013-10-31T20:35:59.873 回答
2

我有一个类似的问题,但结果证明是竹子的奇怪行为,需要修改文件戳才能看到 JUnit 文件。

在 Windows 环境中,您只需要在“JUnit 任务”之前添加“脚本任务”

powershell  (ls *.xml).LastWriteTime = Get-Date

参考

https://jira.atlassian.com/browse/BAM-12768

于 2013-05-15T05:26:11.817 回答