0

以下は、API を取得して Google カレンダーを呼び出すために使用しようとしている方法です。スタブが何を返すべきかわかりません。通常の応答をキャプチャしてそのまま使用する必要がありますか、それとも最小セットのパラメーターを含む参照がありますか?

api = client.discovered_api('calendar', 'v3')

result = client.execute!(:api_method => api.calendar_list.list)
4

1 に答える 1

1

Omniauth が独自のモック サポートを提供し、Google がPython モック ライブラリを提供していることはわかりますが、Ruby からのモックに対する Google の直接サポートについては知りません。

とはいえ、あなたの例を考えると、クライアントとAPIのテストダブルが必要になります。クライアントがどこから来ているのかは明らかではありませんが、それが何らかの形で double として確立されていると仮定すると、少なくとも次のようになります。

api = double('api')
client.should_receive(:discovered_api).and_return(api)
api.stub_chain(:calendar_list, :list)
client.should_receive(:execute!).and_return(... whatever result you want ...)

さらに、コードが正しいパラメーターを Google API に渡していることを確認したい場合は、上記をメッセージの期待値で補強する必要があります。API stub_chain の場合は、戻り値を返す必要があります。実行のためのメッセージの期待にフィード! 電話。

それがあなたの質問に答えているかどうかはまだわかりませんが、そうでない場合は、追加のコメントを読むのを楽しみにしています.

于 2013-05-29T17:58:34.260 に答える