diff --git a/suite.go b/suite.go index d262a40..cf80064 100644 --- a/suite.go +++ b/suite.go @@ -238,6 +238,11 @@ func (s *Suite) matchStep(step *gherkin.Step) *StepDef { } func (s *Suite) runStep(step *gherkin.Step, prevStepErr error) (err error) { + // run before step handlers + for _, f := range s.beforeStepHandlers { + f(step) + } + match := s.matchStep(step) s.fmt.Defined(step, match) @@ -295,11 +300,6 @@ func (s *Suite) runStep(step *gherkin.Step, prevStepErr error) (err error) { return nil } - // run before step handlers - for _, f := range s.beforeStepHandlers { - f(step) - } - err = s.maybeSubSteps(match.run()) return }