1

在我们的开发环境中,我们运行一个持续集成服务 (TeamCity),它通过运行构建/测试作业并报告结果来响应代码签入。当工作正在进行时,我们可以很容易地看到到目前为止已经执行了多少单元测试,有多少失败了,等等。

我的自动化测试团队正在交付在 Rational Functional Tester 中开发的 UI 测试。从源代码控制系统中提取这些测试、编译它们并从命令行执行它们似乎都是非常直接的练习。

我还没有找到一种自动报告测试结果的方法——例如,似乎没有任何用于监听器的钩子,或者任何自定义发出的消息的方法。

根据我目前的研究,我得出的结论是,我唯一的选择是 (a) 等到测试完成,然后 (b) 解析 RFT 生成的 HTML 报告。

有人有比这更好的答案吗?

4

2 回答 2

1

这是我用于类似目的的解决方法:

  1. 编写一个覆盖 onTerminate 回调方法的辅助超类,在那里实现您的日志解析逻辑。
  2. 将测试脚本的辅助超类更改为在步骤 1 中创建的辅助超类。
  3. 使用RFT CLI在您的持续集成代码中调用您的脚本。
于 2011-03-28T23:42:33.923 回答
0

扩展 @eric2323223,在您的 onTerminate 覆盖中,您可以使用 TeamCity 的构建脚本交互功能将您的 RFT 通过/失败状态汇总到 TeamCity。您只需要将这些特定于 TeamCity 的消息发送到命令行,以便 TeamCity 获取它们。

##teamcity[testStarted name='test1']
##teamcity[testFailed name='test1' message='failure message' details='message and stack trace']
##teamcity[testFinished name='test1']

##teamcity[testStarted name='test2']
##teamcity[testFailed type='comparisonFailure' name='test2' message='failure message' details='message and stack trace' expected='expected value' actual='actual value']
##teamcity[testFinished name='test2']
于 2011-04-05T13:13:41.147 回答