6

我正在尝试模拟一些使用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 以在跳过整个链的同时返回有用的东西?

4

2 回答 2

0

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

我假设您的方法是在客户端模型中,所以也许这样的东西会起作用

Client.stub_chain(:client, :execute).and_return(true)

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

于 2013-06-03T15:27:22.950 回答
-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

于 2013-11-20T21:56:22.087 回答