【发布时间】:2012-01-06 02:20:19
【问题描述】:
我知道。这是不鼓励的。由于我不会进入的原因,我需要按照编写的顺序运行我的测试。根据文档,如果我的测试类(我们称之为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 中得知每种方法在我每次运行测试时仍然以随机顺序运行。
有谁知道我做错了什么? 谢谢。
【问题讨论】: