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 49
|
require 'minitest'
require 'bogus'
module MiniTest::Assertions
def assert_received(subject, method, args, message = nil)
with_bogus_matcher_for(subject, method, args) do |matcher, result|
assert(result, message || matcher.failure_message_for_should)
end
end
def refute_received(subject, method, args, message = nil)
with_bogus_matcher_for(subject, method, args) do |matcher, result|
refute(result, message || matcher.failure_message_for_should_not)
end
end
private
def with_bogus_matcher_for(subject, method, args)
matcher = Bogus.have_received.__send__(method, *args)
result = matcher.matches?(subject)
yield matcher, result
end
end
module Bogus::Minitest
include Bogus::MockingDSL
def before_setup
super
Bogus.clear
end
def after_teardown
Bogus.ensure_all_expectations_satisfied!
super
end
end
# minitest 5 vs 4.7
if defined? Minitest::Test
class Minitest::Test
include Bogus::Minitest
end
else
class MiniTest::Unit::TestCase
include Bogus::Minitest
end
end
|