2010-08-15 46 views
3

是否有强烈的理由使用Rspec控制器和视图呢?有多少人使用Rspec控制器和视图?

我的观点严重依赖Javascript,据我所知,Rspec不处理javascript/ajax的意见。也即时使用Cucumber + Selenium。

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

使用Cucumber + Selenium进行应用程序行为还不够吗?如果一个黄瓜测试通过,那么它会通过,为什么我应该打扰Rspec视图和控制器测试?

有人能够启发我这个话题吗?

回答

5

我使用了Cucumber + Shoulda的组合,但是我要告诉你的东西仍然适用于你有的设置。

当测试一个控制器时,我在功能测试中使用Shoulda来打中我所有的“否定认证”情况。例如:

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

我对此应用Shoulda,因为我一般都在寻找的是我被踢到了登录页面,并且任何试图恶意访问的模型都没有真正改变。我可以使用Cucumber来做这件事,但是我发现使用一些Shoulda宏和一些功能测试更容易,更简单。在这种情况下应该很适合。

然后,对于“良好的认证”情况,我使用黄瓜。诸如:

  • 用户访问他自己的偏好页面。
  • 管理员拉起报告。

这些类型的测试要求我检查一些实际的页面内容,而不是一遍一遍地检查“访问被拒绝”。我发现黄瓜的描述性在这里是一个很好的比赛。

0

如果您构建了一套足够完整的测试,那么您可以使用硒,但是如果您想从应用程序的其余部分测试您的javascript单独行为,则可以考虑使用JavaScript测试框架,如QUnit 。