我有一个我想测试的控制器动作:
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 = ""
如何存根实例变量?
答案 0 :(得分:2)
我会使用存根O(1)
实例测试它,例如:
LOG