2015-12-13 22 views
10

Sto seguendo questo post, http://blog.danlew.net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/, per condividere il codice, ma come condividere un asset ?, come un file fixture ?, Voglio prendere in giro una risposta API, quindi ho un file JSON per farlo, ma ci provo questo: https://gist.github.com/nebiros/91a68aaf6995fa635507Come condividere le risorse tra test di unità e test di strumentazione in Android?

Nell'Unità di prova, questo funziona:

ClassLoader.getSystemResourceAsStream("some_response.json"); 

ma nei test strumentazione di Android, non è così, dove posso mettere questi file accessori ?.

+0

qualche soluzione? Sto affrontando lo stesso numero – Nazneen

+0

@Nazneen Ho pubblicato la soluzione che ho trovato. – nebiros

risposta

7

ho trovato in questo modo, per condividere i file fixture test-androidTest:

  • aggiungere i file fixture nella cartella resources del vostro test uno, qui: src/test/resources.
  • Aggiungi cartella test risorse per androidTest, resources.srcDirs += ['src/test/resources'], ecco un esempio:

    android { 
        sourceSets { 
         String sharedTestJavaDir = 'src/sharedTest/java' 
    
         test { 
          java.srcDirs += [sharedTestJavaDir] 
         } 
    
         androidTest { 
          java.srcDirs += [sharedTestJavaDir] 
          resources.srcDirs += ['src/test/resources'] 
         } 
        } 
    } 
    
  • file accessori di accedere dal proprio androidTest ENV in questo modo: this.getClass().getClassLoader().getResourceAsStream(filename);

+1

Grazie. Questo ha funzionato tutto bene – Nazneen

Problemi correlati