使用Google Drive API (Java client)对应用程序进行单元测试的最佳方法是什么?
似乎编写的应用程序严重依赖Drive
类,但缺少...
......如何测试这样的应用程序?
使用像Mockito这样的模拟框架对Drive API(Java客户端)来说有点乏味,因为Drive Java客户端的使用依赖于进行如此多的链式调用(例如,来自文档):
Drive service = getDriveService(req, resp);
service.files().get(fileId).execute();
答案 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();
了解详情
如果您编写集成测试来测试实际的Drive服务,那就没问题,但它根本无法取代单元测试。