diff options
Diffstat (limited to 'activesupport/lib/active_support/testing/mocha_minitest_adapter.rb')
-rw-r--r-- | activesupport/lib/active_support/testing/mocha_minitest_adapter.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/testing/mocha_minitest_adapter.rb b/activesupport/lib/active_support/testing/mocha_minitest_adapter.rb new file mode 100644 index 0000000000..a96ce74526 --- /dev/null +++ b/activesupport/lib/active_support/testing/mocha_minitest_adapter.rb @@ -0,0 +1,45 @@ +class MiniTest::Unit::TestCase + include Mocha::Standalone + + class MochaAssertionCounter + def initialize(runner) @runner = runner end + def increment; @runner.assertion_count += 1 end + end + + def run(runner) + assertion_counter = MochaAssertionCounter.new(runner) + result = '.' + begin + begin + @passed = nil + setup + __send__ name + mocha_verify(assertion_counter) + @passed = true + rescue Exception => e + @passed = false + result = runner.puke(self.class, self.name, e) + ensure + begin + teardown + rescue Exception => e + result = runner.puke(self.class, self.name, e) + end + end + ensure + mocha_teardown + end + result + end +end + +module Test + module Unit + remove_const :TestCase + + class TestCase < MiniTest::Unit::TestCase + include Test::Unit::Assertions + def self.test_order; :sorted end + end + end +end |