【问题标题】:Writing Gherkin through state transition with multiple WHENs?通过具有多个 WHEN 的状态转换编写 Gherkin?
【发布时间】:2016-10-25 15:37:40
【问题描述】:

我的问题是我应该如何通过多个状态转换来编写 Gherkin?

在这个页面 (http://docs.behat.org/en/v2.5/guides/1.gherkin.html) 上写着:

whens:
The purpose of When steps is to describe the key action the user performs
  (or, using Robert C. Martin’s metaphor, the state transition).

...他甚至提供了一个使用多个 WHEN 的示例。

因此,为了用更快的 Cucumber 测试替换 Selenium 测试(在测试期间经历状态转换),我应该在测试期间使用第二个 WHEN 语句进行转换,还是应该只有 1 个 WHEN 并使用那么代替那个状态转换?

  Given one thing
  When I open my eyes
  Then I see something
  But I don't see something else
  When I close my eyes
  Then it is dark again
  And I am asleep again

【问题讨论】:

    标签: cucumber gherkin


    【解决方案1】:

    一般来说,此类场景应拆分 - 一种用于检查打开->关闭转换的场景,另一种用于检查相反的情况。这样一来,它们的脆弱性就会降低,并在发生故障时提供更准确的信息。

    但是,在您使用 UI 时,时间始终是一个敏感问题。如果您可以快速/轻松地达到起始状态,那么这不是问题,您可以进行拆分。通常情况并非如此,您必须在测试执行速度和小黄瓜的可维护性之间做出选择。如果你不过度链接这样的状态转换,你可能仍然可以保持你的小黄瓜很好地维护。

    请注意,最终,您会使其过于复杂,因为添加所有小事会容易得多,以至于您无法抗拒诱惑。接下来你会知道,在你说“Szenariogrundriss”之前,你的神物般的科学怪人将被团队成员复制到所有地方。

    【讨论】:

    • 谢谢,这是一个合理的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多