什么是Rails组织单元测试的方式?

时间:2011-05-27 20:29:27

标签: ruby-on-rails ruby unit-testing testunit

在Rails项目中创建单元测试时,我问自己的第一个问题是“组织单元测试的惯例是什么”,因为几乎所有其他内容都是由约定决定的。此外,我很好奇MiniTest,TestUnit和Rspec之间的约定是否发生了变化。

到目前为止,我所做的是在我的test / unit目录中镜像我的Rails目录结构,如下所示:

[Rails Root]
 /lib/
  ./postgres.rb
  ./awesome_parser.rb
 /app/helpers
  ./psychic_helper.rb

 /test/unit/
  ./lib/postgres.rb
  ./lib/awesome_parser.rb
  ./app/helpers/psychic_helper

组织测试的最常规方法是什么,以便当其他人跳上这个项目时他们不会诅咒我的名字?

1 个答案:

答案 0 :(得分:4)

Rspec与上述类似,只是省略了'app'目录,例如(来自rails root):

spec/controllers/user_controller_spec.rb
spec/models/user_spec.rb
spec/helpers/user_helpers_spec.rb

但仍使用lib目录和其他目录:

spec/lib/user_stuff_spec.rb

集成测试跨越边界,所以得到他们自己的目录:

spec/integration/route_specs.rb

Spec助手有自己的目录:

spec/support/custom_matchers.rb

可能不是会议,但我们把工厂放在他们自己的目录上:

spec/factories/user_factories.rb