Я знаю.Это не рекомендуется.По причинам, в которые я не пойду, мне нужно запускать тесты в том порядке, в котором они написаны.Согласно документации, если мой тестовый класс (назовем его TestClass) расширяет Minitest :: Unit :: TestCase, то я должен иметь возможность вызывать публичный метод i_suck_and_my_tests_are_order_dependent!
(Ну и дела - вы думаете, парень, который создал Minitest?было мнение по этому поводу?).Кроме того, существует также возможность вызова метода с именем test_order
и указания :alpha
для переопределения поведения по умолчанию :random
.Ни один из них не работает для меня.
Вот пример:
class TestClass < Minitest::Unit::TestCase
#override random test run ordering
i_suck_and_my_tests_are_order_dependent!
def setup
...setup code
end
def teardown
...teardown code
end
def test_1
test_1 code....
assert(stuff to assert here, etc...)
puts 'test_1'
end
def test_2
test_2_code
assert(stuff to assert here, etc...)
puts 'test_2'
end
end
Когда я запускаю это, я получаю:
undefined method `i_suck_and_my_tests_are_order_dependent!' for TestClass:Class (NoMethodError)
Если я заменю i_suck
вызов метода с методом вверху а-ля:
def test_order
:alpha
end
Мой тест выполняется, но я могу сказать из puts
для каждого метода, что все еще выполняется в случайном порядке каждый раз, когда я запускаютесты.
Кто-нибудь знает, что я делаю не так?Благодаря.