1

我想个性化 Spock 报告的内容。在这种情况下,我想用更易读的东西替换 xml 输出。在我的测试场景中,预期的 xml 正文必须将 HttpStatus 与以下数据表匹配(为简单起见,我只保留了前两个场景)

where:
        xml                                            | returnedCode      | errorsReceived   | errorsNotReceived
        innerClass.getFileContent("TS0001_TC0001.xml") | HttpStatus.OK     | null             | null
        innerClass.getFileContent("TS0001_TC0002.xml") | HttpStatus.OK     | null             | null

我获得以下之一作为测试场景:

子报告的左侧部分 子报告的右侧

如上所示,xml 输出显示正确。但是,可读性很差。我想 Spock 报告不显示 xml,而是显示一些输入参数。文档很少提及 Spock 报告和我们可以尝试的方式。

我可以告诉 Spock Report 显示一些东西(在这种情况下只是一个文本)而不是其他东西(在那种情况下是 xml 输出),同时不改变测试的本质吗?

感谢您的贡献。

4

1 回答 1

2

报告不是 spock 内置的功能。它是一个第三方项目,它使用 Spock 侦听器来拦截测试执行的各个步骤并生成报告。这就是为什么它根本不在 Spock 文档中的原因。

看起来您正在使用:spock-reports(还有损坏控制

基本上,您需要更改一个模板,该模板是一种算法,应该以 html 格式写入报告中:

  1. 创建一个模板(阅读文档/可能你必须学习源代码,但它并不复杂)

  2. META-INF/services/com.athaydes.spockframework.report.IReportCreator.properties使 spock-reports 使用您在步骤 1 中创建的模板

于 2020-01-08T12:18:13.627 回答