Подтвердить что ты не робот

AndroidStudio/Gradle с помощью powerermock

Я не смог найти информацию о том, как настроить powermock с помощью Android Studio/ Gradle. Все, что я пробовал, привело к ошибкам сборки.

Может ли кто-нибудь показать правильный способ сделать это?

Спасибо.

4b9b3361

Ответ 1

Опубликовать, чтобы помочь будущим читателям, вам нужно добавить эти зависимости для powermock в AS

testCompile 'junit:junit:4.12'
testCompile 'org.powermock:powermock-api-mockito:1.6.1'
testCompile 'org.powermock:powermock-module-junit4-rule-agent:1.6.1'
testCompile 'org.powermock:powermock-module-junit4-rule:1.6.1'
testCompile 'org.powermock:powermock-module-junit4:1.6.1'

Ответ 2

Добавьте следующие строки в свои зависимости {} block:

testCompile 'junit:junit:4.12'
testCompile 'org.powermock:powermock:1.6.5'
testCompile 'org.powermock:powermock-module-junit4:1.6.5'

И если вы хотите использовать PowerMockito, добавьте следующую строку:

testCompile 'org.powermock:powermock-api-mockito:1.6.5'

Ответ 3

Если вы хотите использовать более свежие версии Mockito, вы можете использовать что-то вроде этого, которое адаптировано из mockito 2 Powermock docs, Убедитесь, что вы используете правую версию PowerMock для данной версии Mockito.

...
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-core:2.4.0"
testCompile 'org.powermock:powermock-module-junit4:1.7.0RC2',
            'org.powermock:powermock-api-mockito2:1.7.0RC2'

Ответ 4

В сборке script добавьте следующее:

sourceSets {
    unitTest {
        java.srcDir file('*your test directory*') //for example: tests/java
    }
}

android {
    sourceSets {
        instrumentTest.setRoot('*your root test directory*') //for example: tests
    }
}

repositories {
    mavenCentral()
}

dependencies {
    testCompile 'junit:junit:4.11'
    testCompile 'org.powermock:powermock-mockito-release-full:1.4.9'
}

Затем выполните gradle unitTest из командной строки.

Надеюсь, что это сработает. Если это не так, отправьте вывод командной строки.