mirror of https://github.com/rails/rails
Change the default test order from `:sorted` to `:random`
This commit is contained in:
parent
d6e06ea827
commit
5f777e4b5e
|
@ -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*
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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!
|
||||
|
|
Loading…
Reference in New Issue