Google ruby​​ API客户端中的模拟方法

Chr*_*ird 5 ruby rspec google-api-ruby-client

我正在尝试模拟一些使用google-api-ruby-client的方法来进行一些测试,而无需实际调用api。身份验证以及客户端和活动方法取自github页上的示例(请参见上面的链接),这就是为什么我在这里跳过了。

该示例中的方法如下:

def activities
  result = client.execute(
    :api_method => plus.activities.list,
    :parameters => {'collection' => 'public', 'userId' => 'me'}
  )
  return result.data
end
Run Code Online (Sandbox Code Playgroud)

我以前曾尝试对客户端方法(甚至与execute链接)进行存根处理,但是这导致了对oauth的授权请求,gem在其下使用了加号,然后在plus.activities.list方法中使用了模拟。有没有一种方法可以直接模拟client.exectute以在跳过整个链时返回有用的东西?

lis*_*is2 0

我不确定我是否正确理解你的问题,但也许有点疯狂的东西会起作用

我假设你的方法是在客户端模型中,所以也许类似的方法会起作用

Client.stub_chain(:client, :execute).and_return(true)
Run Code Online (Sandbox Code Playgroud)

当然,如果您的模型有不同的名称,您必须进行调整。我不确定,但你可以尝试一下