当我在一个测试类中有很多测试时,我使用Module对测试进行分组。
因为我对rails很新,我的问题是:
在不知道其他副作用的情况下,将测试分组是正确的还是我做了非常愚蠢的事情?
以下是代码:
require 'test_helper'
module AttributeValidationTest
extend ActiveSupport::Testing::Declarative
test "should not ...." do
# .....
end
# other tests here....
end
module AnotherGroupTest
extend ActiveSupport::Testing::Declarative
# tests.....
end
# may be another modules..
class MyModelTest < ActiveSupport::TestCase
include AttributeValidationTest
include AnotherGroupTest
end
感谢。
答案 0 :(得分:0)
问题是:通过将模块中的测试分组,您获得了什么?
我,根据我的谦逊传统,只是将它们放在彼此不远的地方,并给它们提供相同的名称前缀,例如:
def test_user_name_handles_strange_chars
def test_user_name_handles_empty_string
def test_user_name_...
(您可以毫无问题地使用新语法,如test "name should handle strange...."
)
这有助于我只测试部分功能(因为我的完整测试套件大约需要一个小时):
cd test && ruby unit/user_test.rb -n /test_user_name_/