Integrationstests von Unit-Tests in Android Studio trennen
Ich versuche, Integrationstests in Android Studio 0.9 zu trennen.
Ich habe der Build-Datei Folgendes hinzugefügt:
sourceSets {
integrationTest {
java.srcDir file('src/integrationTest/java')
}
}
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
Ich bin auf ein paar Probleme gestoßen:
Der Task wird ausgeführt, aber die restlichen Projektdateien sind nicht verfügbar. Daher erhalte ich Fehlermeldungen zu fehlenden Klassen. Es gibt einige Java-spezifische Lösungen, die ich gefunden habe:
http: //selimober.com/blog/2014/01/24/separate-unit-and-integration-tests-using-gradlehttps: //blog.safaribooksonline.com/2013/08/22/gradle-test-organizationAber ich konnte nicht herausfinden, wie dies mit Android Studio funktioniert. Verschiedene Kombinationen vonmain
undmain.output
und das Herumspielen mit Abhängigkeiten scheint nicht zu funktionieren, ich bekomme Fehler wie:
Error:(33, 0) Could not find property 'main' on SourceSet container..
Was sinnvoll ist, da das Android-Plugin seine eigenen Quellensets definiert, aber diese funktionieren auch nicht.
Die IDE erkennt das Verzeichnis nicht als Testquellenverzeichnis. Zu Testzwecken habe ich den Namen der Quellgruppe in @ geänderandroidTest
und das grüne Ordnersymbol wird korrekt angezeigt, und die Tests werden zusammen mit den vorhandenen Komponententests ausgeführt, die bereits in @ definiert sinandroidTest
.