如何向 Cucumber 报告添加选项以删除具有特定标签的场景
How to add an option to Cucumber report to remove scenarios that have a certain tag
我想在黄瓜报告上有一个选项 mute/hide 具有来自结果和数字的给定标签的场景。
我们有一个 bamboo build 运行我们的空手道功能和场景库。最后它会生成漂亮的黄瓜 html 报告。在“overview-features.html”我想在右上角添加一个选项,其中包括“Features”、“Tags”、“Steps”和“Failures”,上面写着“Excluded Fails”之类的像那样。单击时提供的信息与 overview-features.html 提供的信息完全相同,只是使用特殊标签标记的任何场景(例如 @bug=abc-12345)都会从报告中删除并从数字中排除。
为什么我需要这个。我们有一些失败的现有方案。它们因我们自己的软件缺陷而失败,这些缺陷可能在 6 个月到一年内无法修复。我们用指定的标签“@bug=abc-12345”标记了它们。我想要它们 muted/excluded 来自空手道竹子构建结束时生成的黄瓜报告,这样我就可以快速查看通过的数量 features/scenarios 并查看它是否为 100%。如果是这样,那么构建很好。如果不是,我需要进一步调查,因为我们似乎有一些倒退。如果没有这些预期会失败的场景,并且在它们被解决之前会继续失败,那么通过所有单独的功能文件报告并查看失败场景然后调查原因是非常乏味和耗时的。我不希望它们完全删除,因为我需要知道它们何时开始消失,这样我才能返回并从场景中删除标签。
关于如何实现这个的任何想法?
空手道 1.0 对报告系统进行了大修,主要更改如下。
- 在
Runner
完成后,您可以修改结果甚至重试一些测试
- 您可以注入自定义 HTML 报告渲染器
这将要求您深入了解细节(其中一些尚未记录)并编写一些 Java 代码。如果这不是一个选项,您必须考虑到您所要求的内容不受空手道支持。
如果您愿意沿着这条路走下去,这里是您需要开始的链接。
a) 如何在呈现报告之前“post 处理”结果数据的示例:RetryTest.java
and also see
b) 负责“可插入”报告的代码,理论上您可以在其中实现新的 SuiteReports
。在 Runner
中,有一个 suiteReports()
方法可以调用以提供您的实现。
另请注意,有一个实验性的“doc”关键字,您可以通过该关键字将自定义 HTML 注入测试报告:https://twitter.com/getkarate/status/1338892932691070976
我想在黄瓜报告上有一个选项 mute/hide 具有来自结果和数字的给定标签的场景。
我们有一个 bamboo build 运行我们的空手道功能和场景库。最后它会生成漂亮的黄瓜 html 报告。在“overview-features.html”我想在右上角添加一个选项,其中包括“Features”、“Tags”、“Steps”和“Failures”,上面写着“Excluded Fails”之类的像那样。单击时提供的信息与 overview-features.html 提供的信息完全相同,只是使用特殊标签标记的任何场景(例如 @bug=abc-12345)都会从报告中删除并从数字中排除。
为什么我需要这个。我们有一些失败的现有方案。它们因我们自己的软件缺陷而失败,这些缺陷可能在 6 个月到一年内无法修复。我们用指定的标签“@bug=abc-12345”标记了它们。我想要它们 muted/excluded 来自空手道竹子构建结束时生成的黄瓜报告,这样我就可以快速查看通过的数量 features/scenarios 并查看它是否为 100%。如果是这样,那么构建很好。如果不是,我需要进一步调查,因为我们似乎有一些倒退。如果没有这些预期会失败的场景,并且在它们被解决之前会继续失败,那么通过所有单独的功能文件报告并查看失败场景然后调查原因是非常乏味和耗时的。我不希望它们完全删除,因为我需要知道它们何时开始消失,这样我才能返回并从场景中删除标签。
关于如何实现这个的任何想法?
空手道 1.0 对报告系统进行了大修,主要更改如下。
- 在
Runner
完成后,您可以修改结果甚至重试一些测试 - 您可以注入自定义 HTML 报告渲染器
这将要求您深入了解细节(其中一些尚未记录)并编写一些 Java 代码。如果这不是一个选项,您必须考虑到您所要求的内容不受空手道支持。
如果您愿意沿着这条路走下去,这里是您需要开始的链接。
a) 如何在呈现报告之前“post 处理”结果数据的示例:RetryTest.java
and also see
b) 负责“可插入”报告的代码,理论上您可以在其中实现新的 SuiteReports
。在 Runner
中,有一个 suiteReports()
方法可以调用以提供您的实现。
另请注意,有一个实验性的“doc”关键字,您可以通过该关键字将自定义 HTML 注入测试报告:https://twitter.com/getkarate/status/1338892932691070976