Add mock registry prep

This commit is contained in:
Michael Miller 2019-11-09 10:49:29 -07:00
parent 74eb4fc11a
commit e9f7e65ac9
3 changed files with 15 additions and 4 deletions

View file

@ -3,5 +3,11 @@ require "./mocks/*"
module Spectator module Spectator
# Functionality for mocking existing types. # Functionality for mocking existing types.
module Mocks module Mocks
def self.run(context : TestContext)
Registry.prepare(context)
yield
ensure
Registry.reset
end
end end
end end

View file

@ -11,6 +11,10 @@ module Spectator::Mocks
@@entries = {} of Key => Entry @@entries = {} of Key => Entry
def prepare(context : TestContext) : Nil
# TODO
end
def reset : Nil def reset : Nil
@@entries.clear @@entries.clear
end end

View file

@ -7,10 +7,11 @@ module Spectator
# Runs the example, hooks, and captures the result # Runs the example, hooks, and captures the result
# and translates to a usable result. # and translates to a usable result.
def run_impl : Result def run_impl : Result
result = capture_result Mocks.run(group.context) do
expectations = Harness.current.expectations result = capture_result
Mocks::Registry.reset expectations = Harness.current.expectations
translate_result(result, expectations) translate_result(result, expectations)
end
end end
# Runs all hooks and the example code. # Runs all hooks and the example code.