Студия Android не может разрешить классы Mockito - PullRequest
0 голосов
/ 17 октября 2019

Несмотря на зависимость Mockito в testImplementation , Android Studio показывает жалобы на красные линии, она не может разрешить зависимость .

Ниже приведен вывод dependencies task с testImplementation в качестве конфигурации.

gradle :exo-audio:dependencies --configuration testImplementation



testImplementation - Implementation only dependencies for 'test' sources. (n)
+--- junit:junit:4.12 (n)
+--- org.hamcrest:hamcrest-all:1.3 (n)
+--- org.mockito:mockito-all:1.10.19 (n)
+--- com.squareup.okhttp3:mockwebserver:4.2.1 (n)
\--- com.google.dagger:dagger:2.24 (n)

(n) - Not resolved (configuration is not meant to be resolved)

Вот скриншот Android Studio, показывающий ошибки

studio mockito error

Я попытался очистить кэш сборки и сделать недействительным перезапуск , похоже, ничего не работает. Даже я пытался удалить вручную каталоги .idea и .gradle и снова загрузить проект.

Я думаю, что проблема в Android Studio, даже если жалуются на студиюо классах, я могу запустить тесты, например, для следующего теста напечатан хэш-код.

@Test
    fun foo() {
        println(repository.hashCode())
    }

1 Ответ

0 голосов
/ 17 октября 2019

Наконец-то! Я решил это в конце дня. Я перечислю шаги, которые я выполнил.

  1. Проверено test source directores и classpath в файле module.iml , здесь все выглядело хорошо

    <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
    
  2. Проверенные версии доступны в local gradle cache

    allaudin@geek ~/.gradle/caches/modules-2/files-2.1/org.mockito/mockito-core$ ls
    
    1.10.19  2.10.0  2.19.0  2.27.0  2.28.0  2.28.2  2.6.1  2.7.22
    

Наконец я попробовал другую версию, она не работала для версий до2.10.0 , а затем начал работать для версии 2.19.0 .

Я пытался выяснить первопричину, но мне приходится много кодировать, прежде чем я засну. Обратитесь к экспертам, чтобы выяснить, почему некоторые версии не работают;)

...