【问题标题】:Pytest Bdd : How to continue execution of steps in BDD even if one failedPytest Bdd:即使一个失败,如何继续执行 BDD 中的步骤
【发布时间】:2021-07-27 11:17:15
【问题描述】:

我在 pytest-bdd 上实现了这样的场景

Scenario: Shopping Cart Verification
  Given I am out for shopping shopping and took a cart
  Given I added "2" "Tomatoes" to the cart
  Given I added "3" "Bread" to the cart
  Then there is "3" "Tomatoes" in the cart
  Then there is "3" "Bread" in the cart
  Then there are "5" items in the cart

在这里我们可以看到步骤(然后购物车中有“3”个“西红柿”)将失败,测试执行将在那里停止,其余步骤将不会执行。 那么即使pytest bdd中的一个或多个步骤失败,有什么方法可以继续测试执行吗?

【问题讨论】:

    标签: python pytest bdd gherkin pytest-bdd


    【解决方案1】:

    我看不到保持单个场景运行的方法,但每个测试只有一个断言是一种很好的做法。在这种情况下会导致大量重复,但您可以使用backgrounds 删除它:

    Feature: Shopping cart
    
      Background:
        Given I am out for shopping shopping and took a cart
        Given I added "2" "Tomatoes" to the cart
        Given I added "3" "Bread" to the cart
    
      Scenario: The tomatoes are in the cart
        Then there is "3" "Tomatoes" in the cart
    
      Scenario: The bread is in the cart
        Then there is "3" "Bread" in the cart
    
      Scenario: The items are in the cart
        Then there are "5" items in the cart
    

    我同意这有点不自然,但这是我能想到的最好的。也许其他人有更好的主意。

    【讨论】:

      猜你喜欢
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-05
      • 1970-01-01
      • 2014-11-05
      • 1970-01-01
      • 2021-10-30
      相关资源
      最近更新 更多