在阅读了 rspec 2 和 capybara 2 之后,就结构目录布局而言,我对最佳实践感到有些困惑。各种规范之间似乎有一些重叠(例如请求规范和控制器规范),我想知道组织这些文件的“最佳实践”方式是什么,每个规范应该测试什么?
到目前为止我收集到的(可能是错误的)如下:
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 测试也与视图(以及它们的外观)有关的意义上来说,这似乎是不必要的,并且控制器测试也可以轻松地测试是否呈现了某个视图。
你觉得呢?你有没有什么想法?