Generating a Test Report
Problem
You want to produce a nicely formatted HTML report that summarizes results from all of your tests.
Solution
Use batchtest along with
junitreport.
Discussion
In earlier examples, we sent test results directly to the console. In order to format our results as HTML, we need to first write the test results to a series of XML files. We do this with the following line:
<formatter type="xml"/>
This causes test results to go to a series of XML files, one per
test. The XML files are written to the directory named by the
todir attribute of the junit
task or the nested batchtest element.
Once the files are created, junitreport uses XSLT
stylesheets to convert the XML files into a nice HTML report. The
complete
Ant target is shown in Example 3-9.
Example 3-9. Generating a test report
<target name="junit" depends="compile">
<junit printsummary="on" fork="false" haltonfailure="false">
<classpath refid="classpath.project"/>
<formatter type="xml"/>
<batchtest todir="${dir.build}">
<fileset dir="${dir.src}">
<include name="**/Test*.java"/>
</fileset>
</batchtest>
</junit>
<junitreport todir="${dir.build}">
<fileset dir="${dir.build}">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${dir.build}"/>
</junitreport> <!-- convert an Ant path to a fully-qualified platform specific path --> <pathconvert dirsep="/" property="reportUrl"> <path> <pathelement location="${dir.build}/index.html"/> </path> </pathconvert> <!-- launch a web browser to view the results ...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