Reporting Testing Status
Good tests are a major step toward quality software. How do you make this information visible? Two solutions come to mind: sharing a test execution report and showing how much of your code is covered by your tests.
How do I do that?
Let's use the qotd/core
subproject as a guinea pig for adding a test execution report. Let's
add a failing test in addition to the existing one (testGenerate) to see what happens in that
case. Add the following test to the qotd/core/src/test/mdn/qotd/core/QuoteGeneratorTest.java
class:
public void testBadTestToShowReportingInCaseOfFailure()
{
assertEquals("Hello Quote!", new QuoteGenerator().generate());
}Add the test report to the qotd/core/project.xml reports section:
<reports> <report>maven-junit-report-plugin</report> </reports>
Let's generate the test report by executing maven site. The generated report is in qotd/core/target/docs/junit-report.html,
shown in Figure
4-3.

Figure 4-3. JUnit test report showing number of tests and test results
That's good... but it's not enough! This report will show to your users how many tests you have, and their success rate. However, it does not say anything about how good your tests are and whether they properly test your application. For that you need to run a test coverage tool. Fortunately, several are available (including Clover, JCoverage, and Emma), and they all have Maven plug-ins.[1]
Let's ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access