11

Google Drive API(Javaクライアント)を使用してアプリケーションを単体テストするための最良の方法は何ですか?

Drive作成されたアプリケーションはクラスに大きく依存しているようですが、どちらも不足しています...

  • 非常に大規模なモックを作成する(それ自体、テストが必要になる可能性があります)、または
  • 実際のドライブサービスに依存する統合テストの作成

...そのようなアプリケーションをどのようにテストできますか?

Mockitoのようなモックフレームワークの使用は、Drive API(Javaクライアント)では少し面倒です。これは、Drive Javaクライアントの使用が、(たとえば、ドキュメントからの)非常に多くの連鎖呼び出しを行うことに依存しているためです。

Drive service = getDriveService(req, resp);
service.files().get(fileId).execute();
4

1 に答える 1

4

実際、Mockito では、深いスタブの助けを借りて、それほど面倒ではないはずです。

Drive mockDrive = mock(Drive.class, RETURNS_DEEP_STUBS);

....
// stubbing
when(service.files().get(anyString()).execute()).thenReturn(something);

// verify
verify(service.files().get("Some Field ID").execute();

Mockito のドキュメントから詳細を学ぶ

統合テストを記述して実際の Drive サービスに対してテストするのは問題ありませんが、単体テストを単に置き換えることはできません。

于 2012-11-19T02:19:18.277 に答える