RSpec-Rails - 存根控制器变量

时间:2017-07-30 01:39:41

标签: ruby-on-rails unit-testing rspec instance-variables stub

我有一个我想测试的控制器动作:

photo = ImageTk.PhotoImage(img, master=self.c)

LOG = ApiRequest::Resource::Login def create @response = LOG.new(current_user, params: params).create return if request_failed? ... end def request_failed? if @response.is_a? Hash false else error = @response redirect_to new_login_path, alert: error true end end 是一个外部api调用,通常返回带有错误的散列或字符串。我想测试控制器操作而不触发调用,例如强制LOG.new(current_user, params: params).create并检查它是否没有重定向并强制@response = {}应该触发重定向。

@response = ""

如何存根实例变量?

1 个答案:

答案 0 :(得分:2)

我会使用存根O(1)实例测试它,例如:

LOG