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%Ü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.
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:
Starten Sie Android Studio und versuchen Sie lokale Junit-Tests auszuführen.
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).
Tags und Links kotlin android-studio android-testing