JaCoCo 0% coverage for objects created with Jackson.map.ObjectMapper

leecheve

I have a Gradle project with the JaCoCo plugin applied to it. When I run my tests and create a jacocoTestReport I get this classes not matching error

[ant:jacocoReport] Classes in bundle 'e-services' 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 eservices/model/persistence/Event does not match.

The classes should match as I'm doing a clean -> build -> test locally. I suspect the mismatch comes from the fact that I'm using jackson.map.ObjectMapper to create an object from a JSON and somehow this causes the classId stored in jacoco's .exec file not match the compiled class id.

My test uses the Event class extensively and still I get 0% coverage due to class mismatch:

import eservices.model.persistence.Event;
event = mapper.readValue(json, Event.class);
event.setTenId(TenIds.getInternalId());

Is there a way to get coverage from this scenario?

leecheve

This is a JaCoCo Known limitation as JaCoCo relies on the checksum of the runtime bytecodes matching the checksum of the bytecodes it uses for report generation. Typically it happens when you have two libraries instrumenting bytecodes, like PowerMock and JaCoCo, or JPA and JaCoCo.

This is referenced in the following JaCoCo issue Coverage is missing a class that was in fact tested #193 and it is labeled as 'wontfix' 'known limitation'

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Jacoco 0% Code Coverage

From Dev

Jacoco 0% Code Coverage

From Dev

Why might Jacoco be showing a code coverage of 0?

From Dev

Jacoco Test coverage report shows 0%

From Dev

Jacoco Test coverage report shows 0%

From Java

Order of JSON objects using Jackson's ObjectMapper

From Dev

Jackson unable to Map Class using ObjectMapper

From Dev

Jackson serialization of Map of objects

From Dev

0% code coverage jacoco4sbt 2.0.0, sbt 0.12.2

From Dev

Integrating JaCoCo, Arquillian and REST Assured brings me a code coverage of 0%

From Dev

How to use Jackson ObjectMapper to parse json response to java objects

From Dev

Deserialize a JSON that has a key variable jackson map ObjectMapper

From Dev

Jacoco coverage for switch statement

From Dev

Jacoco - Zero Percent Coverage

From Dev

java code coverage with jacoco

From Java

Strange jackson ObjectMapper behavior

From Dev

Serialize using Jackson ObjectMapper

From Dev

Jackson ObjectMapper setSerializationInclusion() not working

From Dev

ObjectMapper error in Jackson

From Dev

Spark: broadcasting jackson ObjectMapper

From Dev

RESTEasy and ContextResolver<ObjectMapper> for Jackson

From Dev

Jacoco coverage and Kotlin default parameters

From Dev

Jacoco coverage of unit test code

From Java

Filter JaCoCo coverage reports with Gradle

From Dev

Exclude folder in jacoco coverage report

From Dev

Sonar false overall coverage (jacoco)

From Dev

Jacoco Code Coverage in android studio

From Dev

Code coverage with jacoco for a Android library

From Dev

Jacoco code coverage is affected by AspectJ