Ant - JUnit Integration


JUnit is the commonly used unit testing framework for Java-based developments. It is easy to use and easy to extend. There are a number of JUnit extensions available. If you are unfamiliar with JUnit, you should download it from and read its manual.

This chapter shows how to execute JUnit tests using Ant. Ant makes it straight forward through the JUnit task.

The attributes of the JUnit task are presented below:

Properties Description
dir Where to invoke the VM from. This is ignored when fork is disabled.
jvm Command used to invoke the JVM. This is ignored when fork is disabled.
fork Runs the test in a separate JVM
errorproperty The name of the property to set if there is a JUnit error
failureproperty The name of the property to set if there is a JUnit failure
haltonerror Stops execution when a test error occurs
haltonfailure Stops execution when a failure occurs
printsummary Advises Ant to display simple statistics for each test
showoutput Advises Ant to send the output to its logs and formatters
tempdir Path to the temporary file that Ant will use
timeout Exits the tests that take longer to run than this setting (in milliseconds).

Let us continue the theme of the Hello World Fax web application and add a JUnit target.

The following example shows a simple JUnit test execution:

<target name="unittest">
   <junit haltonfailure="true" printsummary="true">
      <test name="com.tutorialspoint.UtilsTest"/>

This example shows the execution of JUnit on the com.tutorialspoint.UtilsTest junit class. Running the above code produces the following output:

[echo] Testing the application
[junit] Running com.tutorialspoint.UtilsTest
[junit] Tests run: 12, Failures: 0, Errors: 0, Time elapsed: 16.2 sec