Я безуспешно пытался запустить простые инструментальные тесты в Android Studio. Я следовал руководству по модульным тестам, и оно работает отлично. Теперь я хотел бы протестировать компоненты, над которыми сложно имитировать. Когда я следую руководству по инструментальным тестам, Я получаю ошибки зависимости.
Что я сделал:
Установите библиотеку поддержки тестирования Android (репозиторий поддержки Android, версия 17).
Создайте каталог androidTest в src. Добавьте папку Java + пакет, заканчивающийся на "test".
- Добавить простой тестовый класс
@RunWith(AndroidJUnit4.class) public class ServerRequestInstrumentationTest { @Test public void test(){ LogC.d("Here we go testing !"); } }
- Добавьте простой TestSuit.
@RunWith(Suite.class) @Suite.SuiteClasses({ServerRequestInstrumentationTest.class}) public class TestSuit { public TestSuit(){} }
- Измените мой файл gradle, чтобы добавить зависимости.
apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.mydomain.app" minSdkVersion 9 targetSdkVersion 22 versionCode 28 versionName "2.0.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' lintOptions { disable 'MissingTranslation' } } } sourceSets { main { java.srcDirs = ['src/main/java'] } } } dependencies { compile 'com.android.support:support-v4:22.2.0' compile 'com.android.support:appcompat-v7:22.2.0' wearApp project(':wear') compile project(':moreapps') compile project(':lib_repair') compile project(':bugreport') //testCompile 'junit:junit:4.12' testCompile 'org.mockito:mockito-core:1.10.19' androidTestCompile 'junit:junit:4.12' androidTestCompile 'org.hamcrest:hamcrest-library:1.1' androidTestCompile 'com.android.support.test:runner:0.3' androidTestCompile 'com.android.support.test:rules:0.3' }
Я просто добавил строку androidTestCompile 'junit:junit:4.12'
, иначе аннотация @RunWith(AndroidJUnit4.class)
не распознавалась. Теперь, когда я запускаю тест, я получаю одну ошибку сборки Gradle.
Ошибка: не удалось выполнить задачу ': app: dexDebugAndroidTest'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: команда процесса / usr / lib / jvm / jdkoracle / bin / java завершена с ненулевым значением выхода 2
Любое предложение ? Я что-то пропустил в библиотеке тестирования?
Спасибо