<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <html> <head> <meta http-equiv="Content-Language" content="en-us"></meta> <link rel="stylesheet" type="text/css" href="style.css"> <title>AntUnit Ant Library</title> </head> <body> <h2>Introduction</h2> <p>This is a library of Ant tasks that support writing tests for tasks using build files instead of JUnit.</p> <h2>Requirements</h2> <p>The current version requires Ant 1.7.0 or later.</p> <h2>Where is it?</h2> <p>The source code for the library lives in the antlibs subspace of Ant's SVN - <a href="http://svn.apache.org/viewcvs.cgi/ant/antlibs/antunit/trunk/">http://svn.apache.org/viewcvs.cgi/ant/antlibs/antunit/trunk/</a>.</p> <h2>Installation</h2> <p>If you are building this from sources, run the antlib target and you'll get a file <code>ant-antunit.jar</code>.</p> <p>There are several ways to use the tasks:</p> <ul> <li>The traditional way: <pre> <taskdef resource="org/apache/ant/antunit/antlib.xml"> <classpath> <pathelement location="YOUR-PATH-TO/ant-antunit.jar"/> </classpath> </taskdef> </pre> With this you can use the tasks like plain Ant tasks, they'll live in the default namespace. I.e. if you can run <exec> without any namespace prefix, you can do so for <antunit> as well. </li> <li>Similar, but assigning a namespace URI <pre> <taskdef uri="antlib:org.apache.ant.antunit" resource="org/apache/ant/antunit/antlib.xml"> <classpath> <pathelement location="YOUR-PATH-TO/ant-antunit.jar"/> </classpath> </taskdef> </pre> This puts you task into a separate namespace than Ant's namespace. You would use the tasks like <pre> <project xmlns:au="antlib:org.apache.ant.antunit" xmlns="antlib:org.apache.tools.ant"> ... <au:assertTrue> <equals arg1="1" arg2="2"/> </au:assertTrue> </pre> or a variation thereof. </li> <li>Using Ant's autodiscovery. Place <code>ant-antunit.jar</code> into a directory and use <code>ant -lib DIR-CONTAINING-THE-JAR</code> or copy it into <code>ANT_HOME/lib</code> - and then in your build file, simply declare the namespace on the <code>project</code> tag: <pre> <project xmlns:au="antlib:org.apache.ant.antunit" xmlns="antlib:org.apache.tools.ant"> </pre> And all tasks of this library will automatically be available in the <code>au</code> namespace without any <code>taskdef</code>. </li> </ul> <h2>Tasks and Types</h2> <ul> <li><a href="antunit.html">antunit</a> - run unit tests, the tests are defined using build files that contain targets which follow a certain naming convention. This task borrows a lot of ideas from JUnit 3 and the junit task.</li> <li><a href="assert.html">assertTrue</a> - asserts a condition and throws a custom BuildException if the assertion fails.</li> <li><a href="assertions.html">more assertions</a> - useful specialized versions of assertTrue.</li> <li><a href="expectfailure.html">expectfailure</a> - a task container useful for tests that assert build failures.</li> <li><a href="logcontent.html">logcontent</a> - an Ant Resource that contains the log output of an AntUnit test.</li> </ul> <hr/> </body> </html>