Ответ 1
Попробуйте File -> Invalidate Caches / Restart
.
Я использую тесты JUnit в Android Studio 1.2.2. Тесты выполняются без проблем. Единственное, что меня озадачивает, это то, что Android Studio не может решить фактический пакет org.junit. Очевидно, что он разрешает его, иначе тесты не будут работать. Но импорт и аннотации отмечены красным цветом в Android Studio, как показано здесь. Это ошибка в Android Studio? Я попытался восстановить приложение и перезапустить Android Studio, но это не исправляет проблему.
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++;
}
}
Попробуйте File -> Invalidate Caches / Restart
.
Поместите это в свой файл gradle:
testCompile 'junit:junit:4.12'
Если ни одно из указанных выше не работает, возможно, ваши тестовые классы находятся в неправильном каталоге.
Я столкнулся с этой проблемой, потому что мои текстовые классы находились в директории /main/java
вместо /test
, где они должны быть...
Короче:
Убедитесь, что ваши тестовые классы находятся в каталоге /test
!
У меня была эта проблема, и оказалось, что это просто из-за того, что я оставил свой вариант сборки на "release". После того, как я изменил его обратно на "отладку", Android Studio выполнила сборку, и когда она закончила, красные ошибки аннотаций junit исчезли. Рис установки варианта сборки в андроид студии
Если вы заново установили андроид-студию, помните, что по умолчанию она не использует ваши системы JDK (структура проекта → местоположение SDK → местоположение jdk).
Я решил это путем комбинации некоторых ответов и некоторых изменений:
1. Убедитесь, что вы установили prepare targetSdkVersion
, compileSdkVersion
и buildToolsVersion
.
2.Я использовал последнюю Android Gradle Plugin Version
Gradle Version
.
3. Добавьте несколько строк в build.gradle на уровне приложения (я отмечаю их как '\ *'):
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 на уровне проекта выглядит так:
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"
}
}
}