如何使用Google Drive API(Java客户端)对应用程序进行单元测试

时间:2012-11-18 19:10:47

标签: java google-drive-api

使用Google Drive API (Java client)对应用程序进行单元测试的最佳方法是什么?

似乎编写的应用程序严重依赖Drive类,但缺少...

  • 创建一个非常广泛的模拟(它本身可能需要 被测试),或
  • 根据实际的Drive服务编写集成测试

......如何测试这样的应用程序?

使用像Mockito这样的模拟框架对Drive API(Java客户端)来说有点乏味,因为Drive Java客户端的使用依赖于进行如此多的链式调用(例如,来自文档):

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

1 个答案:

答案 0 :(得分:3)

事实上,在深层存根的帮助下,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();

documentation of Mockito

了解详情

如果您编写集成测试来测试实际的Drive服务,那就没问题,但它根本无法取代单元测试。

相关问题