Alle Beispiele der Verwendung von Robolectric, die ich finden kann, scheinen auf Maven basiert zu sein. Benutzt jemand Maven nicht? Wenn ja, würde ich gerne Ihre IntelliJ-Projekteinstellungen verstehen.
Nachdem ich diesen Beitrag gelesen habe
es scheint sinnvoll, eine abgestufte Annäherung an Unit Testig Android-Projekte mit einer Kombination von reinem Junit, Roboclectric & amp; Android-Test-Framework-Tests. Wenn jemand dies mit oder ohne Maven macht, würde ich gerne ein wenig darüber verstehen, wie Sie Ihre Projekte in IntelliJ konfiguriert haben.
Ich schätze, ich brauche mehrere Projekte / Module. Irgendeine Weisheit auf diesem dankbar erhalten.
Maven ist ein großartiges Werkzeug, um Dinge bequemer zu machen. Wenn Sie immer noch nach einer Möglichkeit suchen, Robolectric innerhalb von intellij OHNE Maven zu installieren, folgen Sie:
Download Roboelektrisch: Ссылка Laden Sie die neueste Datei jar-with-dependencies.jar herunter. Lade es herunter und lege es in dein libs / -Verzeichnis deines App-Projekts
Richten Sie Ihre App-Quelle mit der folgenden Dateistruktur ein (Dies ist eine weit verbreitete Methode, um Ihre Verzeichnisse für Robolectric-Tests einzurichten)
%Vor% In Intellij gehen Sie zu Datei & gt; Projektstruktur. Wählen Sie dann in der linken Spalte "Module".
Wählen Sie in der mittleren Spalte Ihr App-Modul aus.
Klicken Sie dann in der rechten Spalte auf die Registerkarte "Quellen".
Suchen Sie jetzt im Dateibrowser das Verzeichnis "src" und erweitern Sie es. Dann erweitern Sie sowohl Ihre "Haupt" und "Test" Verzeichnisse
innerhalb von Src. Klicken Sie auf das "Java" - Verzeichnis unter "Haupt" und dann nach oben, klicken Sie auf
blaue Schaltfläche "Quellen" Dann für das "Java" - Verzeichnis unter "Test", nach oben klicken Sie auf die
Schaltfläche "Testquellen".
Klicken Sie auch auf das Hauptverzeichnis "src" und deaktivieren Sie die blaue Schaltfläche, um sie nicht mehr blau zu machen.
Gehen Sie jetzt noch im Fenster der Projektstruktur in die linke Spalte und klicken Sie auf "Bibliotheken".
Wenn in der mittleren Spalte bereits ein Eintrag für robolectric angezeigt wird, klicken Sie darauf und dann auf das rote "-"
Melden Sie sich oben in der mittleren Spalte an.
Klicken Sie nun auf das grüne "+" - Zeichen über der mittleren Spalte und wählen Sie "Java". Navigieren Sie zu Ihrem
robolectric jar Sie heruntergeladen in Schritt 1. (sollte in Ihrem libs / Verzeichnis Ihres Projekts sein.
Es erscheint nun ein Fenster, in dem Sie gefragt werden, in welchen Modulen Sie robolectric verwenden möchten. Wählen Sie Alle
die Module, die robolectric verwenden und auf OK klicken. Klicken Sie nun auf Anwenden und OK, um auszusteigen
der Projektstruktur.
Sie sind nun bereit für den Test mit robolectric!
Ich nehme an, dass der Grund, warum die meisten Leute, die Roboelec benutzen, Maven benutzen, ist, dass die meisten Leute, die sich Roboelect bedienen wollen, es ernst meinen mit ihren Tests.
Angesichts der Tatsache, dass sie motiviert sind, sich ernsthaft mit Tests zu befassen, wollen sie höchstwahrscheinlich ihre Tests in einem automatisierten Build, typischerweise in einem Continuous Integration (CI) -Server wie Jenkins oder Hudson.
Wenn Sie automatisierte Tests durchführen möchten, benötigen Sie einen guten Befehlszeilen-Build. Gradle ist das brandneue offizielle Befehlszeilen-Build-Tool für Android, aber brandneu, ist noch in Arbeit und noch nicht weit verbreitet. Das bewährte Werkzeug ist Maven.
Viele Leute lieben Maven zu hassen, aber es macht die Arbeit fertig und schlägt Ant um eine Meile.
Also, es ist vielleicht keine schlechte Idee, Maven (oder Gradle) zu benutzen - es wird Ihnen viel mehr Knaller für Ihr Testgeld geben, als nur Ihre Tests in Ihrer IDE auszuführen.
Ich bin ein früher Vogel am Robolectric-Himmel und fing an, nicht den Maven-Weg zu gehen. Meine Hauptmotivation war es, den Rahmen auszuprobieren und daher nie einen Gedanken an Maven zu stellen. Ich habe meine Erkenntnisse bei: Ссылка dokumentiert und Sie können Setup-Anweisungen finden hier .
Hinweis: Dies bezieht sich auf Robolectric 1.x. Aber es sollte nicht viel mit Änderung in der Version variieren.
Wie für diese Antwort stimme ich ganz mit @ GreyBeardedGeek überein. Sie müssen sich mit Maven begnügen, wenn Sie CI einrichten möchten.
Tags und Links android maven unit-testing robolectric