测试和Rspec对我来说是新的。目前我正在使用Rspec与Shoulda和Capybara来测试我的应用程序。测试模型,控制器,帮助程序,路由和请求都很好。但是我应该在视图中准确测试什么呢?实际上我想测试视图中的所有内容,包括DOM,但我也不想过度。
答案 0 :(得分:3)
这三件事将是一个很好的起点
使用Capybara从您网站的根目录开始,让它点击链接等等,直到它到达您要测试的视图。
确保页面上的内容应该是什么,实际显示在页面上。因此,如果他们“用户”访问产品1 页面,请确保所有产品1 内容确实存在。
如果不同的用户看到不同的内容,请确保其正常运行。因此,如果管理员用户看到管理员类型按钮,请确保当用户是管理员时按钮是,而不是用户不是。
这三件事是非常好的基础。即使是第一个也是一个巨大的胜利。这将捕获您可能意外引入的任何奇怪的视图语法错误,因为语法错误将无法通过测试。
答案 1 :(得分:1)
在我的工作中,我们仅使用RSpec进行单元测试。
对于业务测试或行为测试,我们使用的Cucumber对业务和IT人员来说更具可读性。 这就像是您与业务签订的合同,或者就像您可以执行的文档一样。
看看黄瓜:http://cukes.info/
答案 2 :(得分:1)
我使用视图规范验证视图是否使用我在jQuery代码中依赖的ID和类。
并测试同一页面的不同版本。 E.g:
我不想创建两个完整的请求或功能规范,以检查新用户是否看到welcome message A
和返回的用户welcome message B
。相反,我会选择其中一个案例,为它编写请求或功能规范,然后再测试两种情况的附加视图规范。
Rails Test Prescriptions对您来说可能很有意思,因为它有一章专门用于查看测试。