why does cobertura-maven plugin has to run all the test again ?

Today , while working i noticed that because of the cobertura plugin all our unit test in the application were running twice , once for the test phase and another one for the cobertura phase.

After some searching i found that the cobertura plugin has to instrument the byte code of the classes and hence needs to run them all over again to achieve that. Isn’t that frustrating , this means that the build time of our app suddenly doubles because we are using cobertura.

Its a known issue to the cobertura guys and is also raised as an issue with them http://jira.codehaus.org/browse/MCOBERTURA-83  since last 4 years , huh.

The only solution we could find was not to run the cobertura tasks with the normal clean install , and run it when we pass some parameter to be true.

The only downside of this refactoring was that now people will have to run the mvn clean install -Druncobertura=true before committing to check if their test covers everything or not .


Popular Posts