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

Measure maven project X coverage by running project Y tests

Fer Troya December 15, 2016

Hello all,

We need to prove we can measure coverage for a given project by combining coverage db from various test projects.

 

Our structure goes as follows:

  • project-src-x: contains source code which we're interested in measure the coverage.
  • project-it-y: contains integration tests, some of them use the project-x artifact as a maven dependency.
  • project-ut-z: contains unit tests, some of them use the project-x artifact as a maven dependency.

None of this projects share a parent pom, nor can they.

 

This is what I've tried:

 

//instrument project-src-x binaries
$ project-src-x:  mvn clean clover:setup install
 
//run project-it-y tests
$ project-it-y: mvn clean clover:setup -Dmaven.clover.cloverDatabase=/tmp/clover-y.db
 
//run project-ut-z tests
$ project-ut-z: mvn clean clover:setup -Dmaven.clover.cloverDatabase=/tmp/clover-z.db

//merge clover dbs and generate report
$ project-src-x :  mvn clean clover:merge -Dmaven.clover.merge.basedir=/tmp/ clover:clover

The resulting report has no information about project-src-x at all.

I know both test projects are using the instrumented code of project-src-x because I needed to include clover's jar in order to execute them.

 

What can be the problem here?

Thanks in advance,

1 answer

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

$ project-src-x:  mvn clean clover:setup install

Where do you write clover.db file for this project? As you run clover:merge with -Dmaven.clover.merge.basedir=/tmp, then I assume that for project-src-x you should write clover.db to /tmp as well. And the most probably you write it to standard location (<project-src-x dir>/target/clover). 

Please try to run:

mvn clean clover:setup install -Dmaven.clover.cloverDatabase=/tmp/clover.db


Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events