【问题标题】:Bamboo with tSQLt - Failed to parse test result fileBamboo with tSQLt - 无法解析测试结果文件
【发布时间】:2013-01-10 23:01:09
【问题描述】:

首先我应该指出,我是 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 正在查找文件,它只是无法解析文件。

我不知道从哪里开始找出问题所在。有人有什么想法吗?

【问题讨论】:

  • 你能在这里分享输出的 XML 吗?
  • 我认为在这两种情况下都找不到该文件。尝试使用完整路径以确保使用引号。
  • 我们所做的是创建一个 t4 模板来生成代码来运行 tsqlt 测试并对结果进行断言。 tsqlt 架构非常简单,因此查找测试结果等并不难。

标签: bamboo tsqlt


【解决方案1】:

我遇到了类似的问题,但结果证明是竹子的奇怪行为,需要修改文件戳以使 JUnit 文件可见。

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

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

参考

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

【讨论】:

    【解决方案2】:

    我遇到过这种情况,并且能够通过从测试名称中删除单引号大于/小于字符来解决它> 在 *.rb 文件中。

    例子

    test "确保 'go_to_world' 从标头中删除,长度

    更改为删除单引号和

    test "确保 go_to_world 已从标头中删除且长度小于 23"

    很常见的是缩写:“won't don't should not”,或所有格:“thevessel's data”。

    还有 个字符。

    我认为解析器中存在一个错误,无法正确转义测试标题中的这些字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多