2015-12-13 33 views
10

Podążam tym postem, http://blog.danlew.net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/, aby udostępnić kod, ale jak udostępnić zasób ?, jak plik urządzenia ?, chcę wyśmiać odpowiedź interfejsu API, więc mam do tego plik JSON, ale próbuję to: https://gist.github.com/nebiros/91a68aaf6995fa635507Jak udostępniać zasoby między testem jednostkowym a testem oprzyrządowania w systemie Android?

w testowanej jednostki, to działa:

ClassLoader.getSystemResourceAsStream("some_response.json"); 

ale w testach Android Intrumentation, nie, gdzie mogę umieścić te pliki osprzętu ?.

+0

każde rozwiązanie? Mam do czynienia z tym samym problemem – Nazneen

+0

@Nazneen Zamieszczam znaleziony przeze mnie roztwór. – nebiros

Odpowiedz

7

znalazłem w ten sposób, aby udostępniać pliki urządzenie od test do androidTest:

  • Dodaj pliki osprzętu do folderu resources Twojego test jeden, tutaj: src/test/resources.
  • Dodaj folder test zasobów do androidTest, resources.srcDirs += ['src/test/resources'], oto przykład:

    android { 
        sourceSets { 
         String sharedTestJavaDir = 'src/sharedTest/java' 
    
         test { 
          java.srcDirs += [sharedTestJavaDir] 
         } 
    
         androidTest { 
          java.srcDirs += [sharedTestJavaDir] 
          resources.srcDirs += ['src/test/resources'] 
         } 
        } 
    } 
    
  • pliki osprzętu dostęp z androidTest env w ten sposób: this.getClass().getClassLoader().getResourceAsStream(filename);

+1

Dziękuję. Wszystko działało dobrze – Nazneen

Powiązane problemy