arturdm / arturdm/jacoco-android-gradle-plugin
PowerMockito @PrepareForTest disables JaCoCo
- Dominant language
- Groovy
- Stars
- 565
- Forks
- 107
- PR merge metrics
- No merged PRs in 30d
Description
When using [PowerMock](https://github.com/powermock/powermock) in the unit tests, the classes declared with `@PrepareForTest` don't get coverage info due to following error:
```
[ant:jacocoReport] Classes in bundle 'app' do no match with execution data. For report generation the same class files must be used as at runtime.
[ant:jacocoReport] Execution data for class com/example/android/ExampleClassA does not match.
[ant:jacocoReport] Execution data for class com/example/android/ExampleClassB does not match.
```
After a small research I've found out that it's a known issue of jacoco regarding javassist/javaagent:
https://github.com/powermock/powermock/issues/422
https://github.com/jacoco/eclemma/issues/15
But unfortunately, I wasn't able to make the fix of the issue, as suggested for maven by using the custom java agent of PowerMock library, to work for gradle, because I couldn't declare a jar file from dependencies (powermock-api-mockito2-1.7.4.jar) as a custom java agent in gradle, as done in this workaround:
http://stevendick.github.io/blog/2012/02/12/jacoco-and-gradle-part-2/
It failed, since the java plugin is conflicting with the android plugin.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.