1

测试和 Rspec 对我来说是新的。目前我正在使用 Rspec 和 Shoulda 和 Capybara 来测试我的应用程序。测试模型、控制器、助手、路由和请求都很好。但是我应该在视图中究竟测试什么?实际上,我想测试视图中的所有内容,包括 DOM,但我也不想做得过火。

4

3 回答 3

3

这三件事将是一个很好的起点

  1. 使用 Capybara 从您网站的根目录开始,让它点击链接和其他任何东西,直到它到达您想要测试的视图。

  2. 确保页面上应该包含的内容实际上显示在页面上。因此,如果他们的“用户”访问了Product 1页面,请确保Product 1的所有内容都确实存在。

  3. 如果不同的用户看到不同的内容,请确保它有效。因此,如果管理员用户看到管理员类型的按钮,请确保当用户是管理员时这些按钮是它们,而不是当用户不是管理员时。

这3件事是一个很好的基础。即使是第一个也是一个巨大的胜利。这将捕获您可能不小心引入的任何类型的奇怪视图语法错误,因为语法错误将使测试失败。

于 2013-04-10T19:02:14.467 回答
1

我使用视图规范来验证视图是否使用了我在 jQuery 代码中依赖的 ID 和类。

并测试同一页面的不同版本。例如:

我不想创建两个完整的请求或功能规范来检查新用户看到welcome message A和返回用户welcome message B。相反,我会选择其中一种情况,为其编写请求或功能规范,然后再编写一个测试这两种情况的附加视图规范。

Rails Test Prescriptions对您来说可能很有趣,因为它有一章专门用于查看测试。

于 2013-04-10T18:07:37.977 回答
1

在我的工作中,我们仅使用 RSpec 进行单元测试。

对于业务测试或行为测试,我们使用 Cucumber,它对业务和 IT 人员来说更具可读性。这就像您与您的企业签署的合同,或者您可以执行的文档。

看看黄瓜:http ://cukes.info/

于 2013-04-10T17:14:08.357 回答