1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Add using Turn with natural language test case names if the library is available (which it will be in Rails 3.1) [DHH]

This commit is contained in:
David Heinemeier Hansson 2011-03-31 12:25:04 -07:00
parent edf7c9a6a3
commit 6eff04499e
4 changed files with 44 additions and 17 deletions

View file

@ -1,5 +1,7 @@
*Rails 3.1.0 (unreleased)*
* Add using Turn with natural language test case names if the library is available (which it will be in Rails 3.1) [DHH]
* LocalCache strategy is now a real middleware class, not an anonymous class
posing for pictures.

View file

@ -5,25 +5,10 @@ require 'active_support/testing/deprecation'
require 'active_support/testing/declarative'
require 'active_support/testing/pending'
require 'active_support/testing/isolation'
require 'active_support/testing/turn_formatting'
require 'active_support/testing/mochaing'
require 'active_support/core_ext/kernel/reporting'
begin
silence_warnings { require 'mocha' }
rescue LoadError
# Fake Mocha::ExpectationError so we can rescue it in #run. Bleh.
Object.const_set :Mocha, Module.new
Mocha.const_set :ExpectationError, Class.new(StandardError)
end
# Added by Turn to support natural case names in the output formatting
if defined?(MiniTest)
require 'turn'
if MiniTest::Unit.respond_to?(:use_natural_language_case_names=)
MiniTest::Unit.use_natural_language_case_names = true
end
end
module ActiveSupport
class TestCase < ::Test::Unit::TestCase
if defined? MiniTest

View file

@ -0,0 +1,7 @@
begin
silence_warnings { require 'mocha' }
rescue LoadError
# Fake Mocha::ExpectationError so we can rescue it in #run. Bleh.
Object.const_set :Mocha, Module.new
Mocha.const_set :ExpectationError, Class.new(StandardError)
end

View file

@ -0,0 +1,33 @@
# Turn gives you prettier formatting for MiniTest and inline failure reporting.
# It also allows us to report test cases in natural language rather than with underscores. Example:
#
# CommentsControllerTest:
# PASS the truth (0.03s)
#
# APITest
# test_api_without_subdomain PASS
# test_create_milestone_using_typed_xml FAIL
# /test/integration/api_test.rb:50:in `test_create_milestone_using_typed_xml'
# <2006-05-01> expected but was
# <Mon May 01 07:00:00 UTC 2006>.
# test_create_milestone_using_untyped_xml FAIL
# /test/integration/api_test.rb:38:in `test_create_milestone_using_untyped_xml'
# <2006-05-01> expected but was
# <Mon May 01 07:00:00 UTC 2006>.
#
# vs:
#
# .FF
if defined?(MiniTest)
begin
silence_warnings { require 'turn' }
if MiniTest::Unit.respond_to?(:use_natural_language_case_names=)
MiniTest::Unit.use_natural_language_case_names = true
end
rescue LoadError
# If there's no turn, that's fine, it's just formatting
end
end