我一直按 Controller /操作/场景或模型/方法/场景的层次结构来组织我的测试用例。它看起来自然而清晰。但是我发现我必须为同一场景的不同操作和方法重复设置测试数据。虽然我可以通过代码重用来减少代码冗余。但我认为还是浪费时间,尤其是对于机器来说,一次又一次地设置这些测试数据。是否有人按场景组织这些测试用例?组织测试用例的最佳方式是什么?
最佳答案
如果这个问题是关于在生成测试数据时重复自己的问题,您可能应该查看以下帮助您生成测试数据的 gem:
- 工厂女孩
- Fabrication
如果这个问题是关于运行测试时的延迟,你应该看看spork .
如果这个问题是关于组织测试的,我想一种很常见的方法是将测试分为单元测试和功能测试。
在单元测试中逐一测试所有方法。并测试功能测试中的所有场景。
规范/单位/user_spec.rb
describe "#generate_password_salt" do
user = User.new(password: 'foobar')
user.generate_password_salt.should == '1231asdas'
end
规范/功能/user_spec.rb
describe "when creating new user" do
it "should generate password salt" do
...
end
end
关于ruby-on-rails - 组织 Rails 功能和单元测试用例的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7988783/