【问题标题】:What should I test in views?我应该在视图中测试什么?
【发布时间】:2013-04-10 17:09:06
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails-3 testing rspec capybara rspec-rails


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 我第二个黄瓜。我也和它一起使用水豚。
      • Cucumber 是我可以用来测试视图的另一个选项。但我问的是“我应该在视图中究竟测试什么?”。
      【解决方案3】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2016-05-31
        • 1970-01-01
        • 2017-07-26
        • 2021-04-06
        • 1970-01-01
        • 1970-01-01
        • 2014-03-18
        • 2011-09-15
        • 2011-11-19
        相关资源
        最近更新 更多