我正在尝试为测试自动化实施shoulda。我试过这段代码:
require 'test/unit'
require 'shoulda'
require 'shoulda-context'
class TestClass < Test::Unit::TestCase
context 'Languages' do
should 'Ruby' do
puts 'Ruby'
end
should 'Java' do
puts 'Java'
end
should 'Python' do
puts 'Python'
end
end
end
当我执行该代码时,它按照shoulda测试方法的字母顺序输出:
Java
Python
Ruby
实际上,我想按照我编写方法的顺序输出输出:
Ruby
Java
Python
要做到这一点,我必须在代码中使用什么?
答案 0 :(得分:4)
实际上,最好不要按特定顺序运行测试。最好以随机顺序运行它们,因为这样可以识别是否存在依赖于其他测试的测试。如果测试只按特定顺序传递,则表明您做错了。
如果你想这样做:
class TestClass < Test::Unit::TestCase
context 'Languages' do
self.test_order = :defined
...
请参阅:http://test-unit.rubyforge.org/test-unit/en/Test/Unit/TestCase.html#test_order=-class_method