【问题标题】:Writing a spec for partial used in the layout为布局中使用的部分编写规范
【发布时间】:2015-10-29 22:32:36
【问题描述】:

我正在尝试测试布局中包含的部分内容。以下是我的设置。

我有一个基于其他几个控制器的基本控制器。

BaseController < ApplciationController
  layout 'base' 
end

因此,在base 布局中,我包含了部分_my_partial。如果布局呈现部分,我不确定如何测试。

例如:我可以从基本控制器继承的控制器动作规范中对其进行测试。

UsersController < BaseController
  def index

  end
end 

#users controller spec #index action
get :index
response.should render_template(:partial => "_my_partial")

但这在我看来有点奇怪,因为我实际上想测试部分 in 是否包含在每个继承它的控制器中。我认为这个测试并不意味着这一点。

关于如何编写这个规范的任何想法?

【问题讨论】:

    标签: ruby-on-rails testing rspec rspec3


    【解决方案1】:

    你是对的 - 这不是真正正确的地方。控制器规范用于测试控制器(即控制器类中的内容),而不是真正用于测试哪些视图的哪些方面。

    要测试视图中显示的内容,您可以使用视图规范或编写功能 - 任何一种都更标准地测试页面上显示的内容。

    【讨论】:

    • 嘿@taryn 感谢您的回复。您的回答是有道理的,快速跟进问题,由于布局跨越所有视图,是否可以只测试一个视图(具有布局)并假设其他一切也应该没问题?或者是否有任何特定的测试布局,而不绑定到任何特定的视图。 :)
    • 听起来不错。除非您的规范有合理的机会在这种特殊情况下产生不同的结果,否则无需过多地重复您的规范。
    • 但功能规范很慢,仅适用于端端功能测试。所以spec/views是正确的地方(因为他没有测试端到端功能)?
    • 这是真的 - 但不同的人会根据他们的测试偏好以不同的方式划分界限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多