2015-12-13 9 views
10

Ich bin nach diesem Post, http://blog.danlew.net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/, um Code zu teilen, aber wie ein Asset zu teilen ?, wie eine Fixture-Datei ?, Ich möchte eine API-Antwort zu verspotten, so habe ich eine JSON-Datei, um es zu tun, aber ich versuche es dies: https://gist.github.com/nebiros/91a68aaf6995fa635507Wie teilen Ressourcen zwischen Komponententest und Instrumentierungstest in Android?

in Unit Test funktioniert dies:

ClassLoader.getSystemResourceAsStream("some_response.json"); 

aber in Android Intrumentation Tests, es funktioniert nicht, wo kann ich diese Befestigungs Dateien setzen ?.

+0

Jede Lösung? Ich habe das gleiche Problem – Nazneen

+0

@Nazneen Ich poste die Lösung, die ich gefunden habe. – nebiros

Antwort

7

fand ich diese Art und Weise, Vorrichtungs- Dateien test-androidTest zu teilen:

  • Fügen Sie Ihre Leuchte Dateien in den resources Ordner Ihrer test ein, hier: src/test/resources.
  • hinzufügen test Ressourcen Ordner androidTest, resources.srcDirs += ['src/test/resources'], hier ein Beispiel:

    android { 
        sourceSets { 
         String sharedTestJavaDir = 'src/sharedTest/java' 
    
         test { 
          java.srcDirs += [sharedTestJavaDir] 
         } 
    
         androidTest { 
          java.srcDirs += [sharedTestJavaDir] 
          resources.srcDirs += ['src/test/resources'] 
         } 
        } 
    } 
    
  • Zugang Befestigungs Dateien von Ihrem androidTest env auf diese Weise: this.getClass().getClassLoader().getResourceAsStream(filename);

+1

Danke. Das hat gut funktioniert – Nazneen

Verwandte Themen