使用 pytest-bdd 时,如何定义应由场景操作的数据集?

问题描述 投票:0回答:1

我熟悉可以为步骤定义数据的行为,如下所示:


Feature: My feature

  Scenario: My scenario
    Given some data
      | order_nr | customer_name | delivery_date |
      | 1        | John Doe      | 2023-10-01    |
      | 2        | Jane Smith    | 2023-10-02    |

该表可作为传递到每个步骤函数的

Context
变量中的“.table”属性供 Python 步骤代码使用。可以像这样访问上面示例的表:

@given('a set of specific users')
def step_impl(context):
    for row in context.table:
        model.add_user(name=row['name'], department=row['department'])

行为教程 > 步骤数据


我喜欢让读取功能文件的人看到数据,但我使用的是 pytest-bdd。我想使用 pytest-bdd 实现相同的目标。

然而

pytest-bdd 没有相当于

Context
变量,因此我不知道如何实现这一点。使用 pytest-bdd 时,有没有办法将数据从功能文件传递到步骤定义?

pytest-bdd
1个回答
0
投票

看起来 18 天前添加了对数据表的支持 https://github.com/pytest-dev/pytest-bdd/pull/712

只需等待 pytest-bdd 8.x 发布即可。希望不会太久。

© www.soinside.com 2019 - 2024. All rights reserved.