Skip undefined steps in after scenario hooks (#494)

Этот коммит содержится в:
Viacheslav Poturaev 2022-08-16 09:37:33 +02:00 коммит произвёл GitHub
родитель fd5b6a1034
коммит 202882807b
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -14,6 +14,7 @@ This document is formatted according to the principles of [Keep A CHANGELOG](htt
### Fixed
- Fixed a bug which would ignore the context returned from a substep.([488](https://github.com/cucumber/godog/pull/488) - [wichert](https://github.com/wichert))
- Fixed a bug which would cause a panic when using the pretty formatter with a feature that contained a rule. ([480](https://github.com/cucumber/godog/pull/480) - [dumpsterfireproject](https://github.com/dumpsterfireproject))
- Multiple invocations of AfterScenario hooks in case of undefined steps. ([494](https://github.com/cucumber/godog/pull/494) - [vearutop](https://github.com/vearutop))
### Deprecated
- `godog` CLI tool prints deprecation warning. ([489](https://github.com/cucumber/godog/pull/489) - [vearutop](https://github.com/vearutop))

Просмотреть файл

@ -99,7 +99,7 @@ func (s *suite) runStep(ctx context.Context, pickle *Scenario, step *Step, prevS
rctx, err = s.runAfterStepHooks(ctx, step, sr.Status, err)
// Trigger after scenario on failing or last step to attach possible hook error to step.
if sr.Status != StepSkipped && ((err == nil && isLast) || err != nil) {
if isLast || (sr.Status != StepSkipped && sr.Status != StepUndefined && err != nil) {
rctx, err = s.runAfterScenarioHooks(rctx, pickle, err)
}