Halten Sie bestimmte Abhängigkeiten, um für Android Studio
Ich versuche zum ausführen von unit-tests mit Robolectric in Android Studio. Ich bin fast da - ich sehe:
!!! JUnit version 3.8 or later expected:
java.lang.RuntimeException: Stub!
at junit.runner.BaseTestRunner.<init>(BaseTestRunner.java:5)
at junit.textui.TestRunner.<init>(TestRunner.java:54)
at junit.textui.TestRunner.<init>(TestRunner.java:48)
at junit.textui.TestRunner.<init>(TestRunner.java:41)
at com.intellij.rt.execution.junit.JUnitStarter.junitVersionChecks(JUnitStarter.java:185)
...
Sehe ich auch alle benötigten Abhängigkeiten in der Klasse Weg. Um diesen Fehler zu beheben muss ich das stellen junit4 Abhängigkeit vor android-sdk-Abhängigkeit. Leider kann ich nicht sehen-Modul in Projektstruktur Abschnitt und ich weiß nicht, wie zu Bearbeiten iml - Datei zu archivieren.
Hier ist screenshot von meinem Projekt Struktur:
Meinem gradle-Datei:
sourceSets {
testLocal {
java.srcDir file('src/test/java')
resources.srcDir file('src/test/resources')
}
}
dependencies {
//compatibility
compile 'android.compatibility:android-support:v4-r13'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
testLocalCompile 'junit:junit:4.11'
testLocalCompile 'org.robolectric:robolectric:2.2'
testLocalCompile 'org.easytesting:fest-assert-core:2.0M10'
}
android {
buildToolsVersion "17"
compileSdkVersion 18
productFlavors {
testLocal{
}
}
}
Und ich wählte testLocal Geschmack ALS.
- möglich, Duplikat der IntelliJ IDEA mit Junit 4.7 "!!! JUnit-version 3.8 oder höher erwartet:"
- Sorry Jungs, aber ALS Problem hat mit der Struktur des Projektes. Ich update meine Frage
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem scheint zu sein aufgrund der, wie Android-Studio schreibt `.iml-Dateien. Je nach zentrale/robolectric/deckard-gradle-Entwickler:
Quelle: https://github.com/robolectric/deckard-gradle
Anscheinend kann man diese Dateien Bearbeiten, die von hand, aber WIE umschreiben Sie jedes mal, wenn Sie synchronisieren Sie das Projekt. Alternativ (die deckard devs Staat), die Sie nutzen könnten, IntelliJ IDEA für eine stabilere Lösung.
Diese ist derzeit auch eine lange Diskussion über die Robolectric Google-Gruppe:
https://groups.google.com/forum/#!Thema/robolectric/xsOpEwtdTi4
Hoffentlich ALS team beheben dies bald. Läuft Robolectric und Espresso zusammen wäre das ein riesiger Schritt vorwärts für die Tests auf Android.
.iml
jedes mal, wenn Sie synchronisierenbuild.gradle
- Datei. Das ist ärgerlichMit Android Studio 0.5.7 ist es möglich, Ordnung zu halten von Abhängigkeiten durch "Projekt-Struktur" - dialog, oder nur darum, Zeile
androidTestCompile 'junit:junit:4.+'
an der Spitze fodependencies
Abschnitt.Dies ist jedoch nicht genug, um die tests ausführen, die im inneren Android-Studio. Der neue Fehler ist:
So wie es aussieht meine junit-Abhängigkeit wird nicht weitergegeben junit ausgeführt werden. Ich bin versucht zu machen, arbeiten weiter
Android Studio nicht die Abhängigkeiten Bildschirm wie IntelliJ hat. Bis google Updates, habe ich einen workaround kam ich mit. Man kann darüber Lesen auf meinem blog-post hier.
Hoffe, das hilft.