Использование Android Gradle + Dagger для запуска InstruTests

Я недавно начал использовать Android Studio и gradle для разработки под Android и считаю, что в целом он намного лучше, чем eclipse / ant или maven. Однако я'Недавно я начал пытаться реализовать какие-то модульные и / или интеграционные тесты с моим приложением. Мне удалось получить базовые тесты, работающие с использованием платформы Espresso, недавно выпущенной Google. У меня было несколько тестов, где мне нужно было смоделировать и внедрить смоделированные версии объектов. В прошлом я использовал кинжал для другого проекта, поэтому я включил кинжал в свой проект. Однако теперь мои тесты выигрализапустить из-за следующей ошибки:

gradle connectedCheck

...

4.1.2 Сбой: сбой контрольно-измерительной аппаратуры из-за 'java.lang.IllegalAccessError» : EspressoApp: connectedCheck

Я создал простую демонстрацию этого здесь:https://github.com/mwolfe38/android-espresso-dagger

Просто клонируйте и затем из командной строки запустите: gradle connectedCheck

Выше я попробовал зависимости несколькими разными способами, первоначально так:

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.squareup.dagger:dagger-compiler:1.1.0'
    compile 'com.squareup.dagger:dagger:1.1.0'

    instrumentTestCompile files('libs/espresso-1.0-SNAPSHOT.jar',
            'libs/testrunner-1.0-SNAPSHOT.jar',
            'libs/testrunner-runtime-1.0-SNAPSHOT.jar')
    instrumentTestCompile 'org.hamcrest:hamcrest-all:1.3'
    instrumentTestCompile 'com.google.guava:guava:15.0'
}

но это дает мне ошибку относительно статической инициализации. Кажется, это вызвано статическим кодом инициализации в среде эспрессо, касающимся кинжала. Таким образом, после добавления зависимостей кинжала в instrumentTestCompile я получаю ошибку IllegalAccessError, упомянутую выше.

Кому-нибудь повезло, включая кинжал в ваш проект и проведение эспрессо-тестов?

Ответы на вопрос(2)

Ваш ответ на вопрос