我可以在一个文件中运行所有测试:
rake test TEST=path/to/test_file.rb
Run Code Online (Sandbox Code Playgroud)
但是,如果我想在该文件中只运行一个测试,我该怎么做?
我正在寻找类似的功能:
rspec path/to/test_file.rb -l 25
Run Code Online (Sandbox Code Playgroud) 我知道.这是不鼓励的.由于我不会进入的原因,我需要按照它们编写的顺序运行我的测试.根据文档,如果我的测试类(我们称之为TestClass)扩展Minitest :: Unit :: TestCase,那么我应该能够调用公共方法i_suck_and_my_tests_are_order_dependent!(Gee - 你认为创建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
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我得到:
undefined method `i_suck_and_my_tests_are_order_dependent!' for TestClass:Class (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
如果我用i_suck顶部的方法替换方法调用a la:
def test_order
:alpha
end
Run Code Online (Sandbox Code Playgroud)
我的测试运行,但我可以从puts每个方法告诉我每次运行测试时事物仍以随机顺序运行.
有谁知道我做错了什么?谢谢.