Ich muss IDE neu starten, um Tests auszuführen

8

Sonderbarer Fehler mit Android Studio 2.2, wenn ein einzelner Test direkt in der IDE ausgeführt wird - ich habe entweder "Keine Tests gefunden" oder führe meinen zuvor kompilierten Test aus.

Beispiel:

%Vor%

Ich werde diesen Test erstellen und die "Keine Tests gefunden" erhalten. Also starte ich neu, und der Test ist gefunden! Offensichtlich besteht der obige Test, weil er leer ist. Als nächstes möchte ich, dass mein Test fehlschlägt. Also ich manuell eine Ausnahme und fügen Sie eine Zeile Code, unten.

%Vor%

Jetzt kompiliere ich neu, und dieser Test besteht auch, weil IntelliJ aus irgendeinem Grund den vorherigen Test zwischengespeichert hat und diesen wiederholt. Um diesen Test richtig ausfallen zu lassen - muss ich die IDE neu starten.

Wer weiß was los ist? Hinweis - Ich benutze Kotlin ziemlich stark in diesem Projekt.

EDIT 2: Dies ist ein JVM-Test (nicht-android, src/test/java ) in einem android Bibliothek -Projekt.

EDIT: Hier ist eine vollständige Testklasse

%Vor%     
ZakTaccardi 26.09.2016, 15:53
quelle

4 Antworten

3

Die Korrektur gefunden ... Das Problem tritt nur auf, wenn ein Variantenauswahlkonflikt besteht. Durch das Entfernen des Konflikts wurde das Problem behoben.

    
ZakTaccardi 10.10.2016, 19:39
quelle
2

Überprüfen Sie, ob Sie alle diese Abhängigkeiten haben:

%Vor%

Auch wenn Sie Kotlin verwenden, deaktivieren Sie bitte Instant Run in File -> Preferences .

EDIT: Sie sprechen über Tests in der Bibliothek - haben modules und project diese Abhängigkeiten und korrekte Konfiguration.

Es sieht so aus, als ob nach dem Neuaufbau von Gradle der Test funktioniert.

    
piotrek1543 26.09.2016 16:23
quelle
2

Ich habe diese Fehlerbeschreibung im JetBrains IntelliJ Bug Tracking System gefunden. Hier ist die URL:

Ссылка

Es wird eine Änderung am Classloading erläutert, die sich auf die Junit-Testausführung auswirken kann. Eine Problemumgehung wird vorgeschlagen, indem Sie der Konfigurationsdatei options.xml eine Zeile hinzufügen. Hier ist ein Beispiel für eine Problemumgehung für Windows-Boxen - ändern Sie diese für Ihre Plattform. Die Version von Android unten ist die aktuelle Version 2.2:

1) Android Studio beenden

2) Navigieren Sie zum Verzeichnis config / options für Ihre Android-Version:

z.B. C:\Users\YourNameHere\.AndroidStudio2.2\config\options

3) fügen Sie dann die Zeile " <property name="idea.dynamic.classpath.jar" value="false" /> " im Komponentenblock der Datei options.xml hinzu:

%Vor%

Starten Sie Android Studio und versuchen Sie lokale Junit-Tests auszuführen.

    
Jim Andreas 10.10.2016 13:15
quelle
1

Ich nehme an, Sie verwenden Gradle in Ihrem Projekt? Ich hatte genau das gleiche Problem und die Lösung war, Gradle zu verwenden, um Tests auszuführen (innerhalb der Task-Liste), anstatt das Menü zu verwenden (Rechtsklick auf die Testdatei und Tests ausführen).

    
morpheus05 08.10.2016 12:19
quelle