【问题标题】:How to organize rails integration/feature specs如何组织 Rails 集成/功能规范
【发布时间】:2013-02-28 17:05:51
【问题描述】:
对于控制器,我测试了每个动作,例如:
describe PostsController do
describe "GET #new"
describe "GET #edit"
describe "DELETE #destroy"
...
如何组织我的集成/功能测试?遵循控制器结构或用户故事或其他什么?我正在使用水豚。
【问题讨论】:
标签:
ruby-on-rails
ruby
rspec
tdd
capybara
【解决方案1】:
我首先根据动作来组织它。然后在每个动作中,我在好用户和坏用户之间组织我的测试。我相信有人会更深入,但那是我的两分钱。
优秀的用户 - 做所有事情的用户,将正确的信息放入表单等。
不良用户 - 潜在的黑客,或只是将不良信息插入您的网站的人。
【解决方案2】:
使用 Capybara 时,通常希望为每个用户故事创建一个文件,因为这样可以更轻松地重复使用任何背景设置。
将它们保持小通常是有益的(不超过 3 或 4 个 scenario 块),否则它们可能难以跟踪。
如果您需要一种组织测试代码的方法,以便不将集成测试与 UI 耦合,您可以尝试使用 Capybara Test Helpers,它允许您封装与组件和页面的交互。