2017-05-19 1 views
0

Was ist der beste Ansatz zum Kopieren von Daten auf SD-Karte vor allen Instrumentierungstests. Bis jetzt ist meine Idee, Gradle Aufgabe zu schaffen, um das zu tun. Hast du eine Idee, wie du es robuster und einfacher machen kannst?Kopieren von Dateien auf SD-Karte vor dem Ausführen von Instrumentierungstests

+0

die Daten auf einem Server Put und hat '@ BeforeClass' lädt sie herunter. IOW, legen Sie die Daten irgendwo, dass der Instrumentierung Testcode erreichen und in Position kopieren kann. – CommonsWare

+0

Welche Art von Daten müssen Sie speichern, d. H. Bild, Texte, alphanumerische usw. –

+0

@CommonsWare Ich mag Ihre Lösung, es ist einfacher zu debuggen als es als eine Großtarget-Aufgabe zu tun. Mit BeforeClass wird es jedoch jedes Mal ausgeführt, wenn meine Tests in verschiedenen Klassen ausgeführt werden. Kann ich es irgendwie nur einmal ausführen? – qbait

Antwort

0

habe ich etwas ähnliches mit einer gradle Aufgabe:

//Copy file form device to project 
task copyFileForTest{ 
    group = "My_tasks" 
    description ="Copy auth token from device to project" 
    doFirst { 
     println 'Getting file for Unit tests' 
     def resFolder = new File(projectDir.absolutePath+'/src/test/res') 
     exec { 
      commandLine android.getAdbExecutable(),'pull', '-a', '/storage/emulated/0/Android/data/org.myproject.debug/files/file.txt', "${resFolder.absolutePath}" 
     } 
    } 
} 

Und dann sicher zu sein, es nach meinem Instrumentierung Test durchgeführt wird:

copyFileForTest.mustRunAfter 'connectedAndroidTest' 
Verwandte Themen