Ich verwende JUnit-Tests in Android Studio 1.2.2. Die Tests laufen problemlos. Das einzige, was mich verwundert, ist, dass Android Studio das eigentliche org.junit-Paket nicht auflösen kann. Offensichtlich wird das Problem behoben, andernfalls würden die Tests nicht ausgeführt. Der Import und die Anmerkungen sind jedoch in Android Studio rot markiert, wie hier gezeigt. Ist das ein Fehler in Android Studio? Ich habe versucht, die App neu zu erstellen und Android Studio neu zu starten, aber das Problem wird dadurch nicht behoben.
import org.junit.Test;
import static org.junit.Assert.*; // cannot resolve symbol 'junit'
public class CanadaTest
{
@Test
public void testCountryName() throws Exception
{
int x = 0;
x++;
}
}
Versuchen Sie File -> Invalidate Caches / Restart
.
Fügen Sie dies in Ihre Gradle-Datei ein:
testCompile 'junit:junit:4.12'
Wenn keine der oben genannten Aufgaben funktioniert , könnten sich Ihre Testklassen im falschen Verzeichnis befinden.
Ich bin auf dieses Problem gestoßen, da sich meine Textklassen im /main/Java
-Verzeichnis befanden und nicht im /test
-Verzeichnis, wo sie sich befinden sollten.
Zusamenfassend:
Stellen Sie sicher, dass sich Ihre Testklassen im Verzeichnis /test
befinden!
Ich hatte dieses Problem und es stellte sich heraus, dass es nur daran lag, dass ich meine Build-Variante auf "release" eingestellt hatte. Nachdem ich es wieder in "debug" geändert hatte, hat Android Studio einen Build durchgeführt und als er fertig war, verschwanden die roten Fehler in den Junit-Annotationen. Bild der Buildvarianteneinstellung in Android studio
Ich habe es durch die Kombination einiger Antworten und einiger Änderungen gelöst:
1.Stellen Sie sicher, dass Prepare targetSdkVersion
, compileSdkVersion
und buildToolsVersion
eingestellt sind.
2.Ich habe das letzte Android Gradle Plugin Version
und Gradle Version
.
3.Füge einige Zeilen zu buil.gradle auf App-Ebene hinzu (ich markiere sie mit '\ *'):
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig {
applicationId "com.zima.testapp"
minSdkVersion 22
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner" //*
apply plugin: 'maven' //*
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}
dependencies {
testImplementation 'junit:junit:4.12' //*
implementation 'junit:junit:4.12' //*
androidTestImplementation 'com.Android.support:support-annotations:28.0.0' //*
androidTestImplementation 'com.Android.support.test:runner:1.0.2' //*
androidTestImplementation 'com.Android.support.test:rules:1.0.2' //*
implementation fileTree(dir: 'libs', include: ['*.jar']) //*
implementation fileTree(dir: 'libs', include: 'Parse-*.jar') //*
}
}
4.build.gradle auf Projektebene sieht folgendermaßen aus:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.4.2'
apply plugin: 'Java' //*
}
}
allprojects {
repositories {
jcenter()
google()
maven {
url "https://jitpack.io"
}
}
}
Wenn Sie Android Studio neu installiert haben, verwenden Sie das JDK Ihres Systems nicht (Projektstruktur -> SDK-Speicherort -> JDK-Speicherort).