Skip to content

Rationale

Michel Pawlak edited this page Mar 13, 2017 · 1 revision

This plugin was written for the following four reasons :

  • cobertura-maven-plugin generates a coverage report mixing both UT and IT coverage. As a result UT and IT coverage cannot be separated in SonarQube.
  • cobertura-maven-plugin relies on Cobertura executables and runs tests in his own lifecycle. As a result all tests must be run twice.
  • SonarQube cobertura plugin only takes a single input report. As a result UT and IT coverage cannot be separated in SonarQube.
  • Using another coverage tool such as Jacoco was not an option as Jacoco incompatibility with PowerMock results in classes having 0% coverage for tests using PowerMock.

After having analyzed different approaches to tackle these issues, I decided to provide a Mojo (Maven plugin) that allows coverage computation without having to run twice unit and integration tests, and that is able to convert cobertura xml reports to SonarQube Generic Test Coverage format in order to have coverage information for both UT and IT.