1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
require 'mocha/mockery'
module Mocha
# Integration hooks for test library authors.
#
# The methods in this module should be called from test libraries wishing to integrate with Mocha.
#
# This module is provided as part of the +Mocha::API+ module and is therefore part of the public API, but should only be used by authors of test libraries and not by typical "users" of Mocha.
#
# Integration with Test::Unit and Minitest are provided as part of Mocha, because they are (or were once) part of the Ruby standard library. Integration with other test libraries is not provided as *part* of Mocha, but is supported by means of the methods in this module.
#
# See the code in the +Adapter+ modules for examples of how to use the methods in this module. +Mocha::ExpectationErrorFactory+ may be used if you want +Mocha+ to raise a different type of exception.
#
# @see Mocha::Integration::TestUnit::Adapter
# @see Mocha::Integration::Minitest::Adapter
# @see Mocha::ExpectationErrorFactory
# @see Mocha::API
module Hooks
# Prepares Mocha before a test (only for use by authors of test libraries).
#
# This method should be called before each individual test starts (including before any "setup" code).
def mocha_setup
Mockery.setup
end
# Verifies that all mock expectations have been met (only for use by authors of test libraries).
#
# This is equivalent to a series of "assertions".
#
# This method should be called at the end of each individual test, before it has been determined whether or not the test has passed.
def mocha_verify(assertion_counter = nil)
Mockery.verify(assertion_counter)
end
# Resets Mocha after a test (only for use by authors of test libraries).
#
# This method should be called after each individual test has finished (including after any "teardown" code).
def mocha_teardown(origin = mocha_test_name)
Mockery.teardown(origin)
end
# Returns a string representing the unit test name, to be included in some Mocha
# to help track down potential bugs.
def mocha_test_name
nil
end
end
end
|