din*_*ing 12 rspec ruby-on-rails
我正在写RSpec测试,我已经到了一点,我不在不同的网站上阅读相同的意见.当我们处理spec/controllers和spec/models目录时,RSpec的目录结构很清楚,但我得到的冲突信息涉及测试视图.
我想把这些测试放在spec/integration /目录中,但是我已经读过它应该是spec/integration,但另一本书说spec/requests.这有关系吗?
为了使情况更加复杂,我已经阅读了有关命名测试的实际文件名的相互矛盾的信息!例如,如果我有一个名为'people'的控制器/模型/视图目录(我使用haml),我应该命名这样的文件:
规格/集成/ people.html.haml_spec.rb
然而,另一本书暗示了这一点:
规格/请求/ people_spec.rb
我想对RSpec中的命名约定做一点解释,为什么我应该将视图测试命名为特定的名称,以及将它们置于spec/integration或spec/requests之下是否重要.我觉得我在这里随风而去.
任何帮助是极大的赞赏.
zet*_*tic 11
检查书籍的日期和RSpec的版本.命名结构随着时间的推移略有变化.
根据rspec-rails的文档,请求规范可以包含spec/requests,spec/api或spec/integration.我更喜欢在spec/requests中提出请求规范.
为了让事情更有趣,如果你使用的水豚用RSpec的护栏,将与水豚的1.x规范/请求,和水豚2规格/功能的工作.
对于单个spec文件名,当有一个特定的测试类时,比如Rails模型,你应该使用一个类似的spec文件名:
app/models/user.rb
- > spec/models/user_spec.rb
查看规范应使用模板名称:
app/views/users/index.html.erb
- > spec/views/users/index.html.erb_spec.rb
Namespaced模型应在spec文件路径中包含命名空间:
app/models/admin/user.rb
- > spec/models/admin/user_spec.rb
RSpec脚手架生成器是显示这些规格所属的良好指南.
当没有特定的测试类时,就像请求规范的情况一样,恕我直言,您可以随意使用描述被测试事物的名称.例如spec/requests/place_an_order_spec.rb
.
归档时间: |
|
查看次数: |
8823 次 |
最近记录: |