diff --git a/src/spectator/dsl.cr b/src/spectator/dsl.cr index ac2bdd9..76fc276 100644 --- a/src/spectator/dsl.cr +++ b/src/spectator/dsl.cr @@ -156,7 +156,14 @@ module Spectator end def run - Example%example.new.%run({% for v, i in var_names %}%var{i}{% if i < var_names.size - 1 %}, {% end %}{% end %}) + context.run_before_all_hooks + context.run_before_each_hooks + begin + Example%example.new.%run({% for v, i in var_names %}%var{i}{% if i < var_names.size - 1 %}, {% end %}{% end %}) + ensure + context.run_after_each_hooks + context.run_after_all_hooks + end end def description diff --git a/src/spectator/runner.cr b/src/spectator/runner.cr index 3b16bea..0258450 100644 --- a/src/spectator/runner.cr +++ b/src/spectator/runner.cr @@ -24,8 +24,6 @@ module Spectator private def run_example(example) error = nil - example.context.run_before_all_hooks - example.context.run_before_each_hooks elapsed = Time.measure do begin example.run @@ -33,8 +31,6 @@ module Spectator error = ex end end - example.context.run_after_each_hooks - example.context.run_after_all_hooks case error when Nil SuccessfulExampleResult.new(example, elapsed)