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

时间:2010-08-15 16:26:14

标签: ruby-on-rails selenium rspec cucumber bdd

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

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

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

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

有人可以启发我这个话题吗?

2 个答案:

答案 0 :(得分:5)

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

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

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

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

然后对于“良好的身份验证”情况,我使用Cucumber。比如:

  • 用户访问自己的首选项页面。
  • 管理员提取报告。

这些类型的测试要求我检查一些实际的页面内容,而不是一遍又一遍地检查“拒绝访问”。我发现Cucumber的描述性在这里非常适合。

答案 1 :(得分:0)

如果你构建了一套完整的测试,你可以使用selenium,但是如果你想从应用程序的其余部分测试你的javascript单独行为,你可以考虑使用一个javascript测试框架,比如QUnit。