Rspec,Rails:如何测试控制器的私有方法? [英] Rspec, Rails: how to test private methods of controllers?
本文介绍了Rspec,Rails:如何测试控制器的私有方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有控制器:
class AccountController < ApplicationController
def index
end
private
def current_account
@current_account ||= current_user.account
end
end
如何使用 rspec 测试私有方法 current_account
?
How to test private method current_account
with rspec?
附言我使用 Rspec2 和 Ruby on Rails 3
P.S. I use Rspec2 and Ruby on Rails 3
推荐答案
使用 #instance_eval
Use #instance_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
这篇关于Rspec,Rails:如何测试控制器的私有方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文