Change the default test order from `:sorted` to `:random`

This commit is contained in:
Rafael Mendonça França 2015-01-02 22:43:06 -03:00
parent d6e06ea827
commit 5f777e4b5e
3 changed files with 18 additions and 30 deletions

View File

@ -1,3 +1,7 @@
* Change the default test order from `:sorted` to `:random`.
*Rafael Mendonça França*
* Remove deprecated `ActiveSupport::JSON::Encoding::CircularReferenceError`.
*Rafael Mendonça França*

View File

@ -31,29 +31,15 @@ module ActiveSupport
# Returns the order in which test cases are run.
#
# ActiveSupport::TestCase.test_order # => :sorted
# ActiveSupport::TestCase.test_order # => :random
#
# Possible values are +:random+, +:parallel+, +:alpha+, +:sorted+.
# Defaults to +:sorted+.
# Defaults to +:random+.
def test_order
test_order = ActiveSupport.test_order
if test_order.nil?
ActiveSupport::Deprecation.warn "You did not specify a value for the " \
"configuration option `active_support.test_order`. In Rails 5, " \
"the default value of this option will change from `:sorted` to " \
"`:random`.\n" \
"To disable this warning and keep the current behavior, you can add " \
"the following line to your `config/environments/test.rb`:\n" \
"\n" \
" Rails.application.configure do\n" \
" config.active_support.test_order = :sorted\n" \
" end\n" \
"\n" \
"Alternatively, you can opt into the future behavior by setting this " \
"option to `:random`."
test_order = :sorted
test_order = :random
self.test_order = test_order
end

View File

@ -182,30 +182,28 @@ class TestOrderTest < ActiveSupport::TestCase
ActiveSupport::TestCase.test_order = @original_test_order
end
def test_defaults_to_sorted_with_warning
def test_defaults_to_random
ActiveSupport::TestCase.test_order = nil
assert_equal :sorted, assert_deprecated { ActiveSupport::TestCase.test_order }
assert_equal :random, ActiveSupport::TestCase.test_order
# It should only produce a deprecation warning the first time this is accessed
assert_equal :sorted, assert_not_deprecated { ActiveSupport::TestCase.test_order }
assert_equal :sorted, assert_not_deprecated { ActiveSupport.test_order }
assert_equal :random, ActiveSupport.test_order
end
def test_test_order_is_global
ActiveSupport::TestCase.test_order = :random
assert_equal :random, ActiveSupport.test_order
assert_equal :random, ActiveSupport::TestCase.test_order
assert_equal :random, self.class.test_order
assert_equal :random, Class.new(ActiveSupport::TestCase).test_order
ActiveSupport.test_order = :sorted
ActiveSupport::TestCase.test_order = :sorted
assert_equal :sorted, ActiveSupport.test_order
assert_equal :sorted, ActiveSupport::TestCase.test_order
assert_equal :sorted, self.class.test_order
assert_equal :sorted, Class.new(ActiveSupport::TestCase).test_order
ActiveSupport.test_order = :random
assert_equal :random, ActiveSupport.test_order
assert_equal :random, ActiveSupport::TestCase.test_order
assert_equal :random, self.class.test_order
assert_equal :random, Class.new(ActiveSupport::TestCase).test_order
end
def test_i_suck_and_my_tests_are_order_dependent!