Ich bin neu in der Testwelt und noch mehr in Android Testwelt. Während der Forschung auf Robolectric, die mit Tests auf Android eine Sache hilft verwirrt mich am meisten. Manchmal im Web sehe ich Leute, die testCompile
Schlüsselwort in Abhängigkeiten des Gradle-Erstellungsskriptes verwenden, wenn sie Robolectric referenzieren, während andere androidTestCompile
verwenden. Sicherlich können beide nicht gültig sein?Verwirrt über testCompile und androidTestCompile in Android Gradle
Kann jemand den Unterschied zwischen den beiden erklären, und welche davon sollte bei der Verwendung von Robolectric verwendet werden?
Danke. Das ist, was ich zuerst dachte, aber wenn das der Fall ist, warum einige Robolectric Abhängigkeit mit testCompile und einige mit androidTestCompile. Ist das nicht eine Bibliothek, die beim Schreiben von Integrationstests hilft? Wenn ja, sollte es nicht mit androidTestCompile referenziert werden? Doch selbst der offizielle Guide von roboclect leitet testCompile ein ... Tut mir leid, aber das ist mir zu diesem Zeitpunkt einfach zu verwirrend, wie Sie sehen können. – Lucas
Die Namenskonventionen sind ein wenig seltsam.Wenn Sie Komponententests schreiben (Tests, die nicht auf dem Gerät ausgeführt werden), würden sie grundsätzlich in 'src/test' existieren und ihre Abhängigkeiten gehören daher in die 'testCompile'-Konfiguration. Abhängigkeiten, die der 'androidTestCompile'-Konfiguration hinzugefügt werden, sind nur für die Quelle in 'src/androidTest' verfügbar, die tatsächlich in ein APK integriert ist und auf einem Gerät bereitgestellt wird. –
Danke, dass Sie mich in eine Richtung weisen. Es hat nicht alle meine Fragen beantwortet, aber es hat mir bei meinen Recherchen geholfen. Um nur zu verdeutlichen, was Sie gesagt haben, sind die Unit-Tests nicht nur diejenigen im Testordner (standardmäßig). Ironischerweise ruft google manchmal die Tests im androidTest auch als Unit Test an. Hängt natürlich vom Zweck des bestimmten Tests ab, aber fügt noch der Verwirrung hinzu. – Lucas