我正在尝试模拟一些使用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
我之前曾尝试存根客户端(甚至与执行链接),但是这会导致oauth的授权请求,gem在其下面使用,然后是plus.activities.list方法的模拟。有没有办法直接模拟client.exectute在跳过整个链时返回有用的东西?
答案 0 :(得分:1)
查看他们的规范助手: https://github.com/google/google-api-ruby-client/blob/master/spec/spec_helper.rb
他们如何进行测试: https://github.com/google/google-api-ruby-client/blob/master/spec/google/api_client_spec.rb
答案 1 :(得分:0)
我不确定我是否正确理解你的问题,但也许有点疯狂的事情会起作用
我认为你的方法是在客户端模型中所以也许这样的东西可以工作
Client.stub_chain(:client, :execute).and_return(true)
当然,如果你的模特有不同的名字,你必须调整。我不确定,但你可以尝试一下