相关疑难解决方法(0)

Rspec,Rails:如何测试控制器的私有方法?

我有控制器:

class AccountController < ApplicationController
  def index
  end

  private
  def current_account
    @current_account ||= current_user.account
  end
end
Run Code Online (Sandbox Code Playgroud)

如何current_account使用rspec 测试私有方法?

PS我使用Rspec2和Ruby on Rails 3

rspec ruby-on-rails

123
推荐指数
5
解决办法
5万
查看次数

如何设置方法测试中使用的私有实例变量?

给定一个带有几个实例变量和一些方法的类.一些实例变量可通过attr_reader和设置访问attr_accessor.因此其他人是私人的.
某些私有实例变量在其中一个实例方法中设置,并在另一个方法中读取/使用.

为了测试我正在使用RSpec.由于我还是Ruby的新手,并且想要把所有事情都搞定,我将我的测试定义得相当精细.因此,我describe为每个实例方法都有一个块,它们本身被划分为contexts和its 的子集.一般环境先决条件定义为before.

但是,当测试其中一个方法,即使用但未设置其中一个私有变量时,我需要调用另一个方法,即设置此变量.这似乎相当超重,对我来说不是模块化的.

有没有办法强制私有实例变量到某个值.类似于" 剥离 "私有实例变量的值Object::instance_eval(:var).

ruby testing rspec access-specifier

45
推荐指数
2
解决办法
4万
查看次数

标签 统计

rspec ×2

access-specifier ×1

ruby ×1

ruby-on-rails ×1

testing ×1