I couldn't find any info on how to setup powermock with Android Studio/Gradle. Everything I've tried resulted in build exceptions.
Could anybody show a correct way to do it?
Thanks.
I couldn't find any info on how to setup powermock with Android Studio/Gradle. Everything I've tried resulted in build exceptions.
Could anybody show a correct way to do it?
Thanks.
Im posting in order to help future readers, you need to add these dependencies for powermock in 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'
Add the following lines to your dependencies{} block:
testCompile 'junit:junit:4.12' testCompile 'org.powermock:powermock:1.6.5' testCompile 'org.powermock:powermock-module-junit4:1.6.5'
And if you would like to use PowerMockito, add the following line:
testCompile 'org.powermock:powermock-api-mockito:1.6.5'
If you want to use more recent versions of Mockito, you can use something like this, which is adapted from the mockito 2 Powermock docs. Do make sure you use the right version of PowerMock for the given version of 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'
In the build script, add the following:
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' }
Then, do gradle unitTest from the command line.
Hope that works. If it doesn't, post the output of the command line.
I have used same as @Bhargav used with some additional features added with it
Add this marked lines in build.gradle to enable JUnit, PowerMockito, JaCoCo