有多少人使用Rspec控制器和视图?

nev*_*ame 3 bdd selenium rspec ruby-on-rails cucumber

是否有充分的理由将Rspec用于控制器和视图?

我的观点在很大程度上依赖于Javascript,据我所知,Rspec不会在视图上处理javascript/ajax.我也使用Cucumber + Selenium.

我应该将它用于控制器吗?

仅仅使用Cucumber + Selenium来应用行为是不够的?如果黄瓜测试通过,然后它通过,为什么我要打扰Rspec视图和控制器测试?

有人可以开导我这个话题吗?

jdl*_*jdl 5

我使用了Cucumber + Shoulda的组合,但是我要告诉你的内容仍然适用于你的设置.

在测试控制器时,我在功能测试中使用Shoulda来击中我的所有"负认证"情况.例如:

  • 登录用户尝试访问管理页面.
  • 已注销的用户尝试访问受保护的内容.
  • 用户A试图删除用户B的帖子.

我使用的是Shoulda,因为我一直在寻找的是我被踢到了登录页面,而且任何试图被恶意访问的模型实际上都没有改变.我可以使用Cucumber,但我发现使用一些Shoulda宏和一些功能测试更容易,也不那么麻烦.应该是一个非常适合的背景.

然后对于"良好的身份验证"情况,我使用Cucumber.像:

  • 用户访问自己的首选项页面.
  • 管理员拉起报告.

这些类型的测试要求我检查一些实际的页面内容,而不是一遍又一遍地检查"拒绝访问".我发现Cucumber的描述性在这里是一个很好的匹配.