【问题标题】:Cucumber: Can't get the number of "Then" steps passed/failedCucumber:无法获得通过/失败的“Then”步骤数
【发布时间】:2021-03-23 03:39:20
【问题描述】:

我已经尝试使用 BDD 和 Cucumber 来获得测试的最终数量(“Thens”或结果步骤),但我们只获得了功能、标签和场景的数量。我需要通过和失败的测试数量,但还没有解决方案。

如何获得最终报告中“Thens”的数量?

【问题讨论】:

  • 通常情况下,Cucumber 的场景测试,所以场景计数就是测试计数。 “测试”是什么意思?您是在寻找结果(“然后”)行的数量,还是类似的东西?您是否正在尝试使用该信息做出决定?您尝试过哪些记者插件/选项?请添加更多细节,以便我们为您提供帮助!
  • @Lunivore 每个场景内容不止一个测试!我需要的是获得在我的项目期间生成的全部测试。黄瓜没有解决方案,所以我问是否有任何插件要添加或修改。
  • @Lunivore 是的,我可以在我的报告中输入“然后”的数量吗?
  • 请编辑问题以便清楚,我会要求重新打开它。我认为它不应该关闭。这不是您收到报告时标记的 @peter-thomas 的副本(您提到获取功能、标签和场景,所以我很清楚),只是没有您想要的详细信息。
  • 重新打开。都是你的????

标签: cucumber bdd


【解决方案1】:

认为您可以使用 --format 标志用您自己的一种来覆盖 Cucumber 的格式化程序。文档是here。您也可以在构建 Cucumber 选项时添加自己的自定义格式化程序; this blog shows how。相关sn-p:

@RunWith(Cucumber.class)
@CucumberOptions(
    plugin = {"pretty",
        "json:target/report.json",
        "html:target/html",
        "config.CustomTagsFormatter:target/tags.txt"},
    features = "src/test/resources/feature")
public class TestRunner {}

您必须进行一些巧妙的编程才能获得步骤的类型,因为 Cucumber 并没有真正区分 Given、When 和 Then。不过,看看你在不同的活动中得到了什么; step_activated 事件应该为您提供步骤的全文,包括起始关键字。

请记住,某些步骤可能以“And”或“But”而不是“Then”开头,因此它不像计算所有“Then”步骤那么简单。我建议在步骤开始时为“Then”打开一个计数器,如果遇到“Given”或“When”则将其关闭。

不过,我很好奇你为什么需要这个!任何步骤——即使是 Givens 或 Whens——理论上都可以包含一个可能失败的断言,而 Thens 可以包含多个。

【讨论】:

  • 即使使用计步器也无法得到黄瓜的“然后”和“与”的真实数字。我正在寻找的是获得我的空手道报告,其中应用了最终的测试次数作为计数。 @彼得托马斯
  • 尝试不只是计算步数,而是计算以“Then”开头的步数。为此,您需要一些定制的东西;黄瓜不给你。 Cucumber 通过它们的关键字(Given、When、Then、And、But)识别出“步骤”,但并不关心它们是什么。除了解析步骤文本之外,没有其他方法可以获取关键字。你为什么想要这些信息?你用它做什么?
猜你喜欢
  • 2012-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多