2012-11-18 11 views
10

Google Drive API (Java client) kullanarak bir uygulamayı sınamanın en iyi yolu nedir?Bir uygulama Google Drive API'sı (Java istemcisi) kullanarak nasıl test edilir

O Drive sınıfına ağır yazılı uygulamalar gibi güveniyor görünüyor ama ya ...

  • kısa (olasılıkla test edilmesi gerekir ki, kendisi) gerçekten geniş mock oluşturma veya
  • gerçek Drive hizmetini

bağımlı bir entegrasyon testi yazma

  • ... nasıl böyle bir uygulama test edilebilir? Sürücü Java istemci kullanımı (belgelerinden, örneğin) bu kadar çok zincirleme çağrı yapmaya itimat beri Mockito gibi

    kullanarak sahte çerçeveler, Sürücü API (Java istemci) ile biraz sıkıcı şunlardır:

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

    Bu durumda bütünleştirme sınamalarını yapmaktan daha iyi olduğunu söyleyebilirim çünkü bu kitaplığı kolayca alamıyorsunuz. – Hiro2k

    cevap

    3

    derin saplama yardımı ile, aslında Mockito o sıkıcı olmamalı:

    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(); 
    

    bilgi

    daha fazla documentation of Mockito

    Gerçek Sürücü hizmetine karşı test etmek için entegrasyon testi yazmanız yeterlidir, ancak birim testinin yerini tutamaz.

    +1

    +1 Geceleri çok mutlu uyuyacak olsaydım, birim ve entegrasyon testleri olurdu. –

    +0

    @AliAfshar Geceleri çok mutlu uyuyacaksam, sıcak bir karım olsun (lol) –

    +0

    Hala işe yaramazdım, çünkü ClassCastException (org.mockito.internal.creation.jmock.ClassImposterizer $ ClassWithSuperclassToWorkAroundCglibBug $$ EnhancerByMockitoWithCGLIB $$ 4603175d, java.lang.Void için kullanılamaz. Ancak, cevabınızın gerçekten doğru olduğunu düşünüyorum ve gördüğüm hata Mockito'da bir hatadır. Teşekkürler! –

    İlgili konular