TaT FreeformProjectJUnitResults
Contents |
Introduction
It is pretty straightforward to bind the output of a Freeform Project JUnit task to the NetBeans JUnit test results. However, there are a couple of minor tweaks that I find myself making and forgetting, so, the conclusion is that it is worth documenting the steps for future reference.
It should also be noted that the original version of this entry came from my blog entry at Freeform Project JUnit Results
Steps
Make sure the JUnit task is properly set up
The JUnit task needs to have an attribute showoutput="true" and has formatters that explicitly states that doesn't use a file, e.g.
<formatter usefile="false" type="brief"/> <formatter type="xml"/>
Emphasis on not using a file : e.g. you can use an xml formatter and it would work; however, if you don't specify the usefile="false" attribute, everything goes to the file and NetBeans doesn't get a chance to capture the output and display the results in a nice JUnit test results tree. As a result, the best combination ends up being a combination of a xml formatter that outputs to a file, and a brief formatter that doesn't, e.g. :
<junit fork="yes" printsummary="withOutAndErr" showoutput="true" errorProperty="test.failed"
failureProperty="test.failed" filtertrace="false">
<formatter type="xml">
<formatter usefile="false" type="brief" />
<classpath refid="whatever-path-id" />
</junit>
Make sure the source path is properly set up
When you click on the failure in the JUnit results, you want NetBeans to take you to the right line in the source code:
In order to accomplish that, make sure that you properly set the output directory for your test cases in your NetBeans project with the UI or project.xml:
- In the Project Properties UI
File:Project Properties : Output
- In the nbproject/project.xml
...
<java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">\n ....
<compilation-unit>
<package-root>test/integration</package-root>
<unit-tests/>
<classpath mode="compile">${test.completion.classpath}</classpath>
<built-to>dest/test/unit</built-to>
<source-level>1.5</source-level>
</compilation-unit>
....
</java-data>
....
