【发布时间】:2016-09-05 16:47:04
【问题描述】:
我想与您分享这个问题,因为我花了将近一整天的时间试图找出问题所在:
当作为单个测试启动时,我的控制器测试运行良好
rake test test/controller/pcp_subjects_controller_1_test.rb
但是当我使用简单的“rake”运行所有测试时,这个测试一直失败。 问题 - 事实证明 - 我对同一个控制器 (pcp_subjects_controller) 进行了三个测试(文件),但在两个文件中使用了 identical 类名(当你复制/粘贴时会发生这种情况; -):
class PcpSubjectsController1Test < ActionController::TestCase
tests PcpSubjectsController
setup do
...
end
test 'my test case' do
...
end
end
现在,如果您将测试作为单个测试运行,这没有问题。但是,如果您同时运行这两个文件,测试用例将混合在一起 - 并且两个设置代码都将针对 所有 测试用例运行!
如果有人知道如何确保每个测试文件都有一个唯一的类名,我将不胜感激,这样我可以防止这种情况再次发生。
【问题讨论】:
标签: ruby-on-rails ruby unit-testing rake