Я пытаюсь добавить инструментальный тест в наш проект, но кажется, что Gradle неправильно добавляет Android JUnit Test Runner в путь к классам проекта. Тестовые зависимости моего файла сборки gradle выглядят так:
testCompile 'junit:junit:4.12'
androidTestCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
Мы используем последнюю версию библиотеки поддержки (24.0.0), но текущая версия средства запуска тестов (JUnit runner) и Espresso используют версию 23.1.0. Чтобы разрешить конфликт версий, я заставляю бегун (и эспрессо) использовать более новую версию (я понимаю последствия, но мы не можем использовать старую версию):
androidTestCompile 'com.android.support:support-v4:24.0.0'
androidTestCompile 'com.android.support:appcompat-v7:24.0.0'
androidTestCompile 'com.android.support:support-v13:24.0.0'
androidTestCompile 'com.android.support:recyclerview-v7:24.0.0'
androidTestCompile 'com.android.support:design:24.0.0'
androidTestCompile 'com.android.support:support-annotations:24.0.0'
а также:
configurations.all {
resolutionStrategy {
force 'com.android.support:support-annotations:24.0.0'
}
}
Однако по какой-то причине Gradle не добавляет пакет runner
(в android.support.test). Так
import android.support.test.runner.AndroidJUnit4;
выдает ошибку: cannot resolve symbol 'runner'
. Очистили кеш Android Studio, перезапустили IDE, очистили кеш Gradle (как проектный, так и глобальный), все безуспешно. Кто-нибудь знает, что происходит?