我正在使用 pytest bdd 来执行 bdd 场景。例子:
Scenario Outline: entry with special character
Given I am an authenticated user
When I request entry information with <entryName> name
Then I expect a 200 response code
And I check the output list contains valid data
Examples:
| entryName |
| #@ |
在场景中,我创建条目,然后查询并验证响应代码/输出。无论场景是否成功,我都希望能够清理我创建的条目(因此插入另一行“然后我清理我的数据”将无法实现我的目标)。
根据https://pytest-bdd.readthedocs.io/en/latest/ -pytest_bdd_after_scenario(request, feature, scenario)
无论场景成功与否,都有一个钩子可以让我执行清理。
- 我应该在哪里实施?(我试着把它放在 test_my_scenario.py 但它没有被执行,根据https://github.com/pytest-dev/pytest-bdd/issues/174它看起来应该在 conftest 中?)
- 如何将特定于场景的参数传递给钩子?不像
pytest_bdd_step_error
它在签名中没有 func_args 。那么如何清理我在场景中创建的特定条目呢?