Merge pull request #577 from skarimo/sherz/fix-after-scenario-hook

Call `pytest_bdd_after_scenario` hook after all steps have finished
This commit is contained in:
Alessio Bogon 2022-11-08 17:42:12 +01:00 committed by GitHub
commit c3b8cd0826
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 15 deletions

View File

@ -178,6 +178,7 @@ def _execute_scenario(feature: Feature, scenario: Scenario, request: FixtureRequ
__tracebackhide__ = True
request.config.hook.pytest_bdd_before_scenario(request=request, feature=feature, scenario=scenario)
try:
for step in scenario.steps:
step_func_context = get_step_function(request=request, step=step)
if step_func_context is None:
@ -189,8 +190,6 @@ def _execute_scenario(feature: Feature, scenario: Scenario, request: FixtureRequ
request=request, feature=feature, scenario=scenario, step=step, exception=exc
)
raise exc
try:
_execute_step_function(request, scenario, step, step_func_context)
finally:
request.config.hook.pytest_bdd_after_scenario(request=request, feature=feature, scenario=scenario)