Test classes clover instrumentation

Ritesh Keshri March 13, 2014

Is it mandatory/required to instrument test classes while implementing code coverage with clover ?

1 answer

1 accepted

0 votes
Answer accepted
Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
March 13, 2014
It's not. But when you don't instrument test classes you will not see per-test coverage in a report (i.e. only a global one)
Ritesh Keshri March 13, 2014

Hey Marek!

Can you please help me to understand per-test coverage. When I dont instrument my test classes I get a meesage in report under Test Results column- "No test result could be found. Please ensure..."

Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
March 14, 2014

Hi Ritesh,

This is exactly the point - because of the fact that test classes were not instrumented by Clover, Clover has no information about tests which were executed. That's why you see a "No test result could be found" message in the HTML report.

Pleae note that there's a possiblity to use JUnit's XML test result files. This is useful in case you're using a test framework not recognized by Clover. You have to use the <testresults> option of the <clover-report> task.

But unfortunately ... you still have to instrument your test classes (sic! but you can treat them as application classes i.e. to not record per-test coverage for them) ... the point is that Clover must attach test result from JUnit's XML file to a certain class and this class must exist in Clover's database.

Cheers
Marek

Serena Cameirano August 15, 2014

Hi Marek! Even if I instrument the tests I can t see them in the report. Here it s how I define where the tests are located :

<target name="coverage">

<clover-setup initstring="${coverage.merge.data.dir}/merged.db">

<testsources dir="path/to/test/dir/">

<include name="*.java" />

<include name="**/*.java" />

<testclass>

<testmethod name="test*"/>

</testclass>

</testsources>

</clover-setup>

Any obvious thing I m doing wrong please? Is there a way to debug if clover found any tests using the specified path? Thanks for all your help!

Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 17, 2014

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events