我有控制器:
class AccountController < ApplicationController
def index
end
private
def current_account
@current_account ||= current_user.account
end
end
如何current_account
使用rspec 测试私有方法?
PS我使用Rspec2和Ruby on Rails 3
8
这不能回答您的问题,但是私有方法不应该被测试。您的测试应该只关心真实的东西 -您的公共API。如果您的公共方法有效,那么它们调用的私有方法也将有效。
—
Samy Dindane 2012年
我不同意。测试代码中任何足够复杂的功能很有价值。
—
whitehat101
我也不同意。如果您的公共API有效,则只能假定您的私有方法正在按预期工作。但是,您的规格可能是巧合。
—
Rimian 2014年
如果私有方法需要测试,最好将私有方法提取到可测试的新类中。
—
克里斯(Kris)2014年
@RonLugge你是对的。有了更多的事后观察和经验,我不同意我三岁的评论。:)
—
Samy Dindane'3