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

以前、クライアント メソッドをスタブ化しようとしましたが (execute でチェーンされていても)、これにより、gem がその下で使用する oauth の承認要求が発生し、その後に plus.activities.list メソッドのモックが続きます。チェーン全体をスキップしながら、client.exetute を直接モックして何か便利なものを返す方法はありますか?

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 に答える