我有控制器:

class AccountController < ApplicationController
  def index
  end

  private
  def current_account
    @current_account ||= current_user.account
  end
end

如何用rspec测试专用方法current_account

另外,我使用Rspec2和Ruby on Rails 3

推荐答案

使用#实例_eval

@controller = AccountController.new
@controller.instance_eval{ current_account }   # invoke the private method
@controller.instance_eval{ @current_account }.should eql ... # check the value of the instance variable

Ruby-on-rails相关问答推荐

在URL中将下划线更改为连字符Ruby on Rails

带有data-turbo的rails`link_to‘未获得turbo_stream请求格式

ActiveRecord::声明在类别中无效#new

为 has_attached_file 等活动记录属性创建类方法

Rails 模型 - 以 ID 作为自定义列的自定义主键

Rails 3.1 assets资源 - 奇怪的开发服务

Ruby on Rails 有没有好的管理生成器?

键入rails 控制台无法启动?

Rails 模型方法 self.与普通

如何配置设计以使用自定义邮箱布局?

如何将自定义过滤器添加到 Active Admin?

使用 Ruby on Rails 从原始 IP 地址获取用户国家名称

没有图像时如何在回形针中显示隐藏图像

Rails 5:无法从参数中检索哈希值

如何在 Rails 中测试助手?

过滤器在渲染之前但在控制器之后执行?

何时使用 Helpers 而不是 Partials

Ruby 根据属性在数组中查找并返回对象

如果多态关联的类型列不指向 STI 的基本模型,为什么多态关联对 STI 不起作用?

扩展 Devise SessionsController 以使用 JSON 进行身份验证