From 77753ab974283cb67370457b7a31136bc6d3ad51 Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Wed, 12 Sep 2018 20:42:39 -0600 Subject: [PATCH] Move hook execution into Example#run --- src/spectator/dsl.cr | 9 ++++++++- src/spectator/runner.cr | 4 ---- 2 files changed, 8 insertions(+), 5 deletions(-) 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)