【问题标题】:Correct format for Cucumber scenariosCucumber 场景的正确格式
【发布时间】:2015-12-03 22:36:42
【问题描述】:

我在 Cucumber 书中读到 Cucumber 功能场景的格式应该是 Gherkin 场景的格式,即: 给定的时间

为了简单起见,我们省略了场景中可能出现的 And 元素。

我经常在我当前的项目中看到几个这样定义的场景: 情景 X 给定-然后-当-然后

这种格式正确吗? Cucumber接受它,但这是一种好习惯吗?

【问题讨论】:

    标签: format cucumber bdd gherkin


    【解决方案1】:

    我基本同意@orde,但我觉得有必要将这些条款用于特定目的。对我来说,Given 始终是设置测试的一个步骤。这是一个人开始的情况。我建议使用不执行被测软件的步骤定义。

    Given I am a registered user
    And I am logged in
    And I have a product in my shopping cart
    

    什么时候触发测试。这可能不止一步,但这很令人困惑。

    When I delete the item from my cart
    

    然后是用于验证预期结果。我用它来检查时间的结果。

    Then there are not items in my shopping cart
    

    我认为不同的术语可以帮助读者了解哪个步骤用于哪个目的,而无需阅读步骤定义中的代码。

    【讨论】:

      【解决方案2】:

      GivenWhenThen 关键字实际上是同一个方法的别名,所以它们可以互换使用。 Gherkin只是提供了更多人类可读的钩子来编写场景。

      就场景中的Given/Then/When/Then 序列而言,这是可行的,但它似乎有点不寻常。我意识到您试图让您的问题保持简单,但这听起来像是使用AndBut 的可能案例。例如:Given/And/When/ThenGiven/But/When/Then。而FWIW,如果你想避免Given/When/Then/And/But的语义体操,你可以使用*开始一个步骤

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-25
        • 2011-07-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多