我知道。这是不鼓励的。由于我不会进入的原因,我需要按照编写的顺序运行我的测试。根据文档,如果我的测试类(我们称之为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
for each 方法中看出,每次我运行测试时,事情仍然以随机顺序运行。
有谁知道我做错了什么?谢谢。