Comment effectuer des tests unitaires d’une application à l’aide de l’API Google Drive (client Java)

Quelle est la meilleure méthode de test unitaire d’une application à l’aide de l’ API Google Drive (client Java) ?

Il semble que les applications écrites s’appuient fortement sur la classe Drive , mais pas sur l’une ou l’autre …

  • créant une maquette très volumineuse (qui, elle-même, devrait probablement être testée), ou
  • écriture d’un test d’intégration dépendant du service Drive actuel

… comment une telle application pourrait-elle être testée?

L’utilisation de frameworks factices tels que Mockito est un peu fastidieuse avec l’API de Drive (client Java), car l’utilisation du client Drive Java repose sur le nombre d’appels chaînés (issus de la documentation, par exemple):

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

Cela ne devrait pas être aussi fastidieux chez Mockito, avec l’aide de stub profond:

 Drive mockDrive = mock(Drive.class, RETURNS_DEEP_STUBS); .... // stubbing when(service.files().get(anySsortingng()).execute()).thenReturn(something); // verify verify(service.files().get("Some Field ID").execute(); 

En savoir plus à partir de la documentation de Mockito

Si vous écrivez un test d’intégration à tester avec le service Drive actuel, cela ne pose aucun problème, mais il ne peut tout simplement pas remplacer les tests unitaires.