Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Clover for separated integration tests in multi-module project

fertroya September 16, 2016

Hi,

 

We're evaluating Clover as our main coverage tool for our Maven projects and we're willing to pay for the Server License but we have a blocker issue.

 

Our projects have the following structure:

  • project
    • module-a
      • src/main/java
      • src/test/java (UTs)
    • module-a-it
      • src/test/java (ITs)

 

We're have no clover configuration within our poms. We use surefire for our UTs and failsafe for our ITs.

We run the following goal from the top project: 

     mvn clean coverage:instrument install clover:aggregate clover:clover

The problem is that even when the ITs pass, we end up with no coverage for our ITs.

image2016-9-16 10:23:40.png

 

What should we do?

Thank you

2 answers

0 votes
Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 19, 2016

PS: As soon as you solve the problem with lack of data in the HTML report, you may want be interested in fine-tuning of Clover configuration for Failsafe. I'm pasting you few links:

https://confluence.atlassian.com/display/CLOVER/Using+with+Surefire+and+Failsafe+Plugins

https://confluence.atlassian.com/display/CLOVER/Unit+Test+Results+and+Per-Test+Coverage

and some hacking:

https://confluence.atlassian.com/display/CLOVER/Updating+optimization+snapshot+file

0 votes
Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 19, 2016

Hi Fer,

  1. This goal is wrong - 'coverage:instrument'. All Clover goals are prefixed with 'clover:' (or 'clover2:' in case of old Clover versions). 

  2. Do you need to run 'install' goal? Are there any specific requirements? I'm asking, because usually builds with Clover are configured to run till 'test' or 'verify' phase. Having a build running till the 'install' phase is not wrong, but keep in mind that it may install JARs with instrumented code into your local ~/.m2 cache. 

    Please try this command:
    mvn clean clover:setup verify clover:aggregate clover:clover

Cheers
Marek 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events