我想和你分享这个问题,因为我花了差不多一整天的时间试图找出问题所在:
当作为单个测试启动时,我的控制器测试正常运行
rake test test/controller/pcp_subjects_controller_1_test.rb
但是当我使用简单的“rake&#39”运行我的所有测试时,此测试始终失败。 问题 - 事实证明 - 我对同一个控制器(pcp_subjects_controller)有三个测试(文件),但在两个文件中使用了相同的类名(当你复制/粘贴时会发生这种情况; - ):
class PcpSubjectsController1Test < ActionController::TestCase
tests PcpSubjectsController
setup do
...
end
test 'my test case' do
...
end
end
现在,如果您将测试作为单个测试运行,则没有问题。但是,如果您同时运行这两个文件,测试用例将会混合 - 和两个设置代码都将针对所有测试用例运行!
如果有人知道如何确保每个测试文件都有一个唯一的类名,我将不胜感激,因此我可以防止这种情况再次发生。
答案 0 :(得分:0)
也许我应该添加标准名称的标准测试用例?如果我在另一个文件中使用相同的类名,它会给我一个错误,即测试名已被使用。