【发布时间】:2013-09-27 10:59:04
【问题描述】:
在阅读了 rspec 2 和 capybara 2 之后,就结构目录布局而言,我对最佳实践感到有些困惑。各种规范之间似乎有一些重叠(例如 request specs 和 controller specs),我想知道组织的“最佳实践”方式是什么这些文件,每个规范应该测试什么?
到目前为止我收集到的(可能是错误的)如下:
spec/factories
Factory Girl 使用的工厂(如果使用)
spec/features
Capybara 测试,模拟用户与您的应用程序之间的交互。
spec/models
模型验证测试
spec/controllers
测试控制器操作(#new、#edit、#create 等)
spec/requests
测试各种控制器之间的集成(比控制器规格“高”一级)
spec/support
定义可能有用的模块的文件包含在某些规范中。
spec/acceptance
验收测试。
spec/views
有关视图是否正确呈现的测试
我个人认为,例如 spec/views 似乎没有必要,因为 capybara 测试也关注视图(以及它们的外观),并且控制器测试也可以轻松地测试是否呈现了某个视图。
你有什么想法?
【问题讨论】:
标签: ruby-on-rails rspec capybara factory-bot rspec2