diff --git a/actionpack/test/abstract_unit.rb b/actionpack/test/abstract_unit.rb index de4ca439f47576354e9f75b1013eb6e65b5b9ebe..bc7c80f1ceb69abab8f3ddb9b361d0c14567da80 100644 --- a/actionpack/test/abstract_unit.rb +++ b/actionpack/test/abstract_unit.rb @@ -14,3 +14,13 @@ ActionController::Base.logger = nil ActionController::Base.ignore_missing_templates = false ActionController::Routing::Routes.reload rescue nil + + +# Wrap tests that use Mocha and skip if unavailable. +def uses_mocha(test_name) + require 'mocha' + require 'stubba' + yield +rescue LoadError + $stderr.puts "Skipping #{test_name} tests. `gem install mocha` and try again." +end diff --git a/actionpack/test/controller/integration_test.rb b/actionpack/test/controller/integration_test.rb index 665c5901e544be41a62a92bf1251e1c76837576b..a26b6eb2598cf42994d8043ff8327eaccb72ba0d 100644 --- a/actionpack/test/controller/integration_test.rb +++ b/actionpack/test/controller/integration_test.rb @@ -3,9 +3,7 @@ $:.unshift File.dirname(__FILE__) + '/../../../railties/lib' require 'action_controller/integration' -begin # rescue LoadError -require 'mocha' -require 'stubba' +uses_mocha 'integration' do # Stub process for testing. module ActionController @@ -149,6 +147,4 @@ def test_xml_http_request # class MockCGITest < Test::Unit::TestCase # end -rescue LoadError - $stderr.puts "Skipping integration tests. `gem install mocha` and try again." -end +end # uses_mocha diff --git a/actionpack/test/controller/rescue_test.rb b/actionpack/test/controller/rescue_test.rb index c7e055a8596c0a2e86464e10fd6eab8e1875ffa6..aa4d851e8e52c1fee5015db9926763c6c14f83b9 100644 --- a/actionpack/test/controller/rescue_test.rb +++ b/actionpack/test/controller/rescue_test.rb @@ -1,7 +1,6 @@ require File.dirname(__FILE__) + '/../abstract_unit' -# gem install mocha -require 'mocha' +uses_mocha 'rescue' do class RescueController < ActionController::Base def raises @@ -210,3 +209,5 @@ def with_rails_root(path = nil) end end end + +end # uses_mocha