You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by gi...@apache.org on 2018/03/17 13:41:12 UTC
ant git commit: Update the manual
Repository: ant
Updated Branches:
refs/heads/master cdfbef38c -> 50b9be737
Update the manual
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/50b9be73
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/50b9be73
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/50b9be73
Branch: refs/heads/master
Commit: 50b9be737606d0229233585711c3487ecca362ea
Parents: cdfbef3
Author: Gintas Grigelionis <gi...@apache.org>
Authored: Sat Mar 17 14:41:00 2018 +0100
Committer: Gintas Grigelionis <gi...@apache.org>
Committed: Sat Mar 17 14:41:00 2018 +0100
----------------------------------------------------------------------
manual/Tasks/junitlauncher.html | 474 +++++++++++++++++------------------
manual/tasklist.html | 3 +-
2 files changed, 238 insertions(+), 239 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/50b9be73/manual/Tasks/junitlauncher.html
----------------------------------------------------------------------
diff --git a/manual/Tasks/junitlauncher.html b/manual/Tasks/junitlauncher.html
index 8603f59..75eb5b3 100644
--- a/manual/Tasks/junitlauncher.html
+++ b/manual/Tasks/junitlauncher.html
@@ -28,112 +28,115 @@
This task allows tests to be launched and run using the JUnit 5 framework.
</p>
<p>
- JUnit 5 introduced a newer set of APIs to write and launch tests. It also introduced
- the concept of test engines. Test engines decide which classes are considered as testcases
- and how they are executed. JUnit 5 supports running tests that have been written using
- JUnit 4 constructs as well as tests that have been written using JUnit 5 constructs.
- For more details about JUnit 5 itself, please refer to the JUnit 5 project's documentation at
- <a href="https://junit.org/junit5/">https://junit.org/junit5/</a>.
+ JUnit 5 introduced a newer set of APIs to write and launch tests. It also introduced the concept
+ of test engines. Test engines decide which classes are considered as testcases and how they are
+ executed. JUnit 5 supports running tests that have been written using JUnit 4 constructs as well
+ as tests that have been written using JUnit 5 constructs. For more details about JUnit 5
+ itself, please refer to the JUnit 5 project's documentation
+ at <a href="https://junit.org/junit5/">https://junit.org/junit5/</a>.
</p>
<p>
- The goal of this <code>junitlauncher</code> task is to allow launching the JUnit 5
- test launcher and building the test requests so that the selected tests can then be parsed
- and executed by the test engine(s) supported by JUnit 5. This task in itself does <i>not</i>
- understand what a test case is nor does it execute the tests itself.
+ The goal of this <code>junitlauncher</code> task is to allow launching the JUnit 5 test launcher
+ and building the test requests so that the selected tests can then be parsed and executed by the
+ test engine(s) supported by JUnit 5. This task in itself does <i>not</i> understand what a test
+ case is nor does it execute the tests itself.
</p>
<p>
- <strong>Note</strong>: This task depends on external libraries not included
- in the Apache Ant distribution. See <a href="../install.html#librarydependencies">
- Library Dependencies</a> for more information.
+ <strong>Note</strong>: This task depends on external libraries not included in the Apache Ant
+ distribution. See <a href="../install.html#librarydependencies">Library Dependencies</a> for
+ more information.
</p>
<p>
- <strong>Note</strong>:
- You must have the necessary JUnit 5 libraries in the classpath of the tests. At the time of
- writing this documentation, the list of JUnit 5 platform libraries that are necessary to run the tests
- are:
+ <strong>Note</strong>: You must have the necessary JUnit 5 libraries in the classpath of the
+ tests. At the time of writing this documentation, the list of JUnit 5 platform libraries that
+ are necessary to run the tests are:
+</p>
+
<ul>
<li>
- junit-platform-commons.jar
+ <samp>junit-platform-commons.jar</samp>
</li>
<li>
- junit-platform-engine.jar
+ <samp>junit-platform-engine.jar</samp>
</li>
<li>
- junit-platform-launcher.jar
+ <samp>junit-platform-launcher.jar</samp>
</li>
</ul>
-</p>
+
<p>
- Depending on the test engine(s) that you want to use in your tests, you will further need the following
- libraries in the classpath
+ Depending on the test engine(s) that you want to use in your tests, you will further need the
+ following libraries in the classpath
</p>
<p>
- For <code>junit-vintage</code> engine:
+ For <q>junit-vintage</q> engine:
+</p>
+
<ul>
<li>
- junit-vintage-engine.jar
+ <samp>junit-vintage-engine.jar</samp>
</li>
<li>
- junit.jar (JUnit 4.x version)
+ <samp>junit.jar</samp> (JUnit 4.x version)
</li>
</ul>
-</p>
+
<p>
- For <code>junit-jupiter</code> engine:
+ For <q>junit-jupiter</q> engine:
+</p>
+
<ul>
<li>
- junit-jupiter-api.jar
+ <samp>junit-jupiter-api.jar</samp>
</li>
<li>
- junit-jupiter-engine.jar
+ <samp>junit-jupiter-engine.jar</samp>
</li>
<li>
- opentest4j.jar
+ <samp>opentest4j.jar</samp>
</li>
</ul>
-</p>
<p>
- To have these in the test classpath, you can follow <i>either</i> of the following approaches:
+ To have these in the test classpath, you can follow <em>either</em> of the following approaches:
+</p>
+
<ul>
- <li>Put all these relevant jars along with the <code>ant-junitlauncher.jar</code> in <code>ANT_HOME/lib</code>
- directory
- </li>
- <li>OR Leave <code>ant-junitlauncher.jar</code> in the <code>ANT_HOME/lib</code> directory and include all
- other relevant jars in the classpath by passing them as a <code>-lib</code> option, while invoking Ant
- </li>
+ <li>Put all these relevant jars along with the <samp>ant-junitlauncher.jar</samp>
+ in <samp>ANT_HOME/lib</samp> directory</li>
+ <li>OR Leave <samp>ant-junitlauncher.jar</samp> in the <samp>ANT_HOME/lib</samp> directory and
+ include all other relevant jars in the classpath by passing them as a <kbd>-lib</kbd>
+ option, while invoking Ant</li>
</ul>
-</p>
<p>
- Tests are defined by nested elements like <code>test</code>,
- <code>testclasses</code> tags (see <a href="#nested">nested
- elements</a>).</p>
+ Tests are defined by nested elements like <code>test</code>, <code>testclasses</code> tags
+ (see <a href="#nested">nested elements</a>).
+</p>
<h3>Parameters</h3>
-<table>
+<table class="attr">
<tr>
- <td valign="top"><b>Attribute</b></td>
- <td valign="top"><b>Description</b></td>
- <td valign="top"><b>Required</b></td>
+ <th>Attribute</th>
+ <th>Description</th>
+ <th>Required</th>
</tr>
<tr>
- <td valign="top">haltOnFailure</td>
- <td valign="top">A value of <code>true</code> implies that build has to stop
- if any failure occurs in any of the tests. JUnit 5 classifies failures
- as both assertion failures as well as exceptions that get thrown during
- test execution. As such, this task too considers both these cases as
- failures and doesn't distinguish one from another.
+ <td>haltOnFailure</td>
+ <td>A value of <q>true</q> implies that build has to stop if any failure occurs in any of
+ the tests. JUnit 4+ classifies failures as both assertion failures as well as exceptions
+ that get thrown during test execution. As such, this task too considers both these cases
+ as failures and doesn't distinguish one from another.
</td>
- <td align="center" valign="top">No; default is <code>false</code>.</td>
+ <td>No; default is <q>false</q></td>
</tr>
<tr>
- <td valign="top">failureProperty</td>
- <td valign="top">The name of a property to set in the event of a failure
+ <td>failureProperty</td>
+ <td>The name of a property to set in the event of a failure
(exceptions in tests are considered failures as well).
</td>
- <td align="center" valign="top">No.</td>
+ <td>No</td>
</tr>
</table>
@@ -141,132 +144,141 @@
<h4>classpath</h4>
<p>
- The nested <code><classpath></code> element that represents a
- <a href="../using.html#path">PATH like structure</a> can be used to configure
- the task to use this classpath for finding and running the tests. This classpath
- will be used for:
+ The nested <code><classpath></code> element that represents
+ a <a href="../using.html#path">PATH like structure</a> can be used to configure the task to use
+ this classpath for finding and running the tests. This classpath will be used for:
+</p>
<ul>
<li>Finding the test classes to execute</li>
- <li>Finding the JUnit 5 framework libraries (which include the API jars and test engine jars). The complete
- set of jars that are relevant in JUnit 5 framework are listed in the <a href="#junit5deps">dependecies</a>
- section
- </li>
+ <li>Finding the JUnit 5 framework libraries (which include the API jars and test engine
+ jars). The complete set of jars that are relevant in JUnit 5 framework are listed in
+ the <a href="#junit5deps">dependencies</a> section</li>
</ul>
-If the <code>classpath</code> element isn't configured for the task, then the classpath of
-Ant itself will be used for finding the test classes and JUnit 5 libraries.
-
+<p>
+ If the <code>classpath</code> element isn't configured for the task, then the classpath of Ant
+ itself will be used for finding the test classes and JUnit 5 libraries.
</p>
<h4>listener</h4>
<p>
- The <code>junitlauncher</code> task can be configured with <code>listener</code>(s) to listen
- to test execution events (such as a test execution starting, completing etc...). The listener
- is expected to be a class which implements the <code>org.junit.platform.launcher.TestExecutionListener</code>.
- This <code>TestExecutionListener</code> interface is an API exposed by the JUnit 5 platform APIs and isn't
- specific to Ant. As such, you can use any existing implementation of <code>TestExecutionListener</code> in
- this task.
+ The <code>junitlauncher</code> task can be configured with <code>listener</code>(s) to listen to
+ test execution events (such as a test execution starting, completing etc...). The listener is
+ expected to be a class which implements
+ the <code class="code">org.junit.platform.launcher.TestExecutionListener</code>.
+ This <code class="code">TestExecutionListener</code> interface is an API exposed by the JUnit 5
+ platform APIs and isn't specific to Ant. As such, you can use any existing implementation
+ of <code class="code">TestExecutionListener</code> in this task.
</p>
<h5>Test result formatter</h5>
<p>
- <code>junitlauncher</code> provides a way where the test execution results can be formatted and presented
- in a way that's customizable. The task allows for configuring test result formatters, through the use of
- <code>listener</code> element. As noted previously, the <code>listener</code> element expects the listener
- to implement the <code>org.junit.platform.launcher.TestExecutionListener</code> interface. Typically, result
- formatters need a bit more configuration details to be fed to them, during the test execution - details
- like where to write out the formatted result. Any such listener can optionally implement
- the <code>org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code> interface. This interface
- is specific to Ant <code>junitlauncher</code> task and it extends the <code>org.junit.platform.launcher.TestExecutionListener</code>
- interface
+ <code>junitlauncher</code> provides a way where the test execution results can be formatted and
+ presented in a way that's customizable. The task allows for configuring test result formatters,
+ through the use of <code>listener</code> element. As noted previously, the <code>listener</code>
+ element expects the listener to implement
+ the <code class="code">org.junit.platform.launcher.TestExecutionListener</code>
+ interface. Typically, result formatters need a bit more configuration details to be fed to them,
+ during the test execution—details like where to write out the formatted result. Any such
+ listener can optionally implement
+ the <code class="code">org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code>
+ interface. This interface is specific to Ant <code>junitlauncher</code> task and it extends
+ the <code class="code">org.junit.platform.launcher.TestExecutionListener</code> interface
</p>
<p>
- The <code>junitlauncher</code> task comes with the following pre-defined test result formatter types:
+ The <code>junitlauncher</code> task comes with the following pre-defined test result formatter
+ types:
+</p>
<ul>
<li>
- <code>legacy-plain</code> : This formatter prints a short statistics line for all test cases.
+ <q>legacy-plain</q> : This formatter prints a short statistics line for all test
+ cases.
</li>
<li>
- <code>legacy-brief</code> : This formatter prints information for tests that failed or were skipped.
+ <q>legacy-brief</q> : This formatter prints information for tests that failed or were
+ skipped.
</li>
<li>
- <code>legacy-xml</code> : This formatter prints statistics for the tests in xml format.
+ <q>legacy-xml</q> : This formatter prints statistics for the tests in XML format.
</li>
</ul>
-<em>NOTE:</em> Each of these formatters, that are named "legacy" try, and format the results to be almost similar to
-what the <code>junit</code> task's formatters used to do. Furthermore, the <code>legacy-xml</code> formatters
-generates the XML to comply with the same schema that the <code>junit</code> task's XML formatter used to follow.
-As a result, the XML generated by this formatter, can be used as-is by the <code>junitreport</code> task.
-
+<p>
+ <strong>Note</strong>: Each of these formatters named <q>legacy</q> try to format the results
+ similar to what the <code>junit</code> task's formatters used to do. Furthermore,
+ the <q>legacy-xml</q> formatter generates the XML to comply with the same schema that
+ the <code>junit</code> task's XML formatter used to follow. As a result, the XML generated by
+ this formatter, can be used as-is by the <code>junitreport</code> task.
</p>
-
-The <code>listener</code> element supports the following attributes:
-
-<table>
+<p>
+ The <code>listener</code> element supports the following attributes:
+</p>
+<table class="attr">
<tr>
- <td valign="top"><b>Attribute</b></td>
- <td valign="top"><b>Description</b></td>
- <td valign="top"><b>Required</b></td>
+ <th>Attribute</th>
+ <th>Description</th>
+ <th>Required</th>
</tr>
<tr>
- <td valign="top">type</td>
- <td valign="top">Use a predefined formatter (either
- <code>legacy-xml</code>, <code>legacy-plain</code> or <code>legacy-brief</code>).
- </td>
- <td align="center" rowspan="2">Exactly one of these</td>
+ <td>type</td>
+ <td>Use a predefined formatter (either <q>legacy-xml</q>, <q>legacy-plain</q>
+ or <q>legacy-brief</q>).</td>
+ <td rowspan="2">Exactly one of these</td>
</tr>
<tr>
- <td valign="top">classname</td>
- <td valign="top">Name of a listener class which implements <code>org.junit.platform.launcher.TestExecutionListener</code>
- or the <code>org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code> interface
+ <td>classname</td>
+ <td class="left">Name of a listener class which
+ implements <code>org.junit.platform.launcher.TestExecutionListener</code> or
+ the <code>org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code>
+ interface
</td>
</tr>
<tr>
- <td valign="top">resultFile</td>
- <td valign="top">The file name to which the formatted result needs to be written to. This attribute is only
- relevant
- when the listener class implements the <code>org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code>
+ <td>resultFile</td>
+ <td>
+ The file name to which the formatted result needs to be written to. This attribute is
+ only relevant when the listener class implements
+ the <code>org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code>
interface.
- <p> If no value is specified for this attribute and the listener implements the
- <code>org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code> then the file name
- will be defaulted
- to and will be of the form <code>TEST-<testname>.<formatter-specific-extension></code>
- (ex: TEST-org.myapp.SomeTest.xml for the <code>legacy-xml</code> type formatter)
+ <p>
+ If no value is specified for this attribute and the listener implements
+ the <code>org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code>
+ then the file name will be defaulted to and will be of the
+ form <code>TEST-<i>testname</i>.<i>formatter-specific-extension</i></code>
+ (ex: <samp>TEST-org.myapp.SomeTest.xml</samp> for the <q>legacy-xml</q> type
+ formatter)
</p>
</td>
- <td align="center">No</td>
+ <td>No</td>
</tr>
<tr>
- <td valign="top">sendSysOut</td>
- <td valign="top">If set to <code>true</code> then the listener will be passed the <code>stdout</code> content
- generated by the test(s). This attribute is relevant only if the listener
- class implements the <code>org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code>
- interface.
- </td>
- <td align="center">No; defaults to <code>false</code></td>
+ <td>sendSysOut</td>
+ <td>If set to <q>true</q> then the listener will be passed the <code>stdout</code> content
+ generated by the test(s). This attribute is relevant only if the listener class
+ implements
+ the <code>org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code>
+ interface.</td>
+ <td>No; defaults to <q>false</q></td>
</tr>
<tr>
- <td valign="top">sendSysErr</td>
- <td valign="top">If set to <code>true</code> then the listener will be passed the <code>stderr</code> content
- generated by the test(s). This attribute is relevant only if the listener
- class implements the <code>org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code>
- interface.
- </td>
- <td align="center">No; defaults to <code>false</code></td>
+ <td>sendSysErr</td>
+ <td>If set to <q>true</q> then the listener will be passed the <code>stderr</code> content
+ generated by the test(s). This attribute is relevant only if the listener class
+ implements
+ the <code>org.apache.tools.ant.taskdefs.optional.junitlauncher.TestResultFormatter</code>
+ interface.</td>
+ <td>No; defaults to <q>false</q></td>
</tr>
<tr>
- <td valign="top">if</td>
- <td valign="top">Only use this listener <a href="../properties.html#if+unless">if the named property is set</a>.
- </td>
- <td align="center">No</td>
+ <td>if</td>
+ <td>Only use this listener <a href="../properties.html#if+unless">if the named property is
+ set</a>.</td>
+ <td>No</td>
</tr>
<tr>
- <td valign="top">unless</td>
- <td valign="top">Only use this listener <a href="../properties.html#if+unless">if the named property is
- <b>not</b>
- set</a>.
- </td>
- <td align="center">No</td>
+ <td>unless</td>
+ <td>Only use this listener <a href="../properties.html#if+unless">if the named property
+ is <strong>not</strong> set</a>.</td>
+ <td>No</td>
</tr>
</table>
@@ -274,58 +286,52 @@ The <code>listener</code> element supports the following attributes:
<p>Defines a single test class.</p>
-<table>
+<table class="attr">
<tr>
- <td valign="top"><b>Attribute</b></td>
- <td valign="top"><b>Description</b></td>
- <td valign="top"><b>Required</b></td>
+ <th>Attribute</th>
+ <th>Description</th>
+ <th>Required</th>
</tr>
<tr>
- <td valign="top">name</td>
- <td valign="top">Fully qualified name of the test class.</td>
- <td align="center">Yes</td>
+ <td>name</td>
+ <td>Fully qualified name of the test class.</td>
+ <td>Yes</td>
</tr>
<tr>
- <td valign="top">methods</td>
- <td valign="top">Comma-separated list of names of test case methods to execute.
- If this is specified, then only these test methods from the test class will be
- executed.
- </td>
- <td align="center">No</td>
+ <td>methods</td>
+ <td>Comma-separated list of names of test case methods to execute. If this is specified,
+ then only these test methods from the test class will be executed.</td>
+ <td>No</td>
</tr>
<tr>
- <td valign="top">haltOnFailure</td>
- <td valign="top">Stop the build process if a failure occurs during the test
- run (exceptions are considered as failures too).
- Overrides value set on <code>junitlauncher</code> element.
- </td>
- <td align="center" valign="top">No</td>
+ <td>haltOnFailure</td>
+ <td>Stop the build process if a failure occurs during the test run (exceptions are
+ considered as failures too). Overrides value set on <code>junitlauncher</code>
+ element.</td>
+ <td>No</td>
</tr>
<tr>
- <td valign="top">failureProperty</td>
- <td valign="top">The name of a property to set in the event of a failure
- (exceptions are considered failures as well). Overrides value set on
- <code>junitlauncher</code> element.
- </td>
- <td align="center" valign="top">No</td>
+ <td>failureProperty</td>
+ <td>The name of a property to set in the event of a failure (exceptions are considered
+ failures as well). Overrides value set on <code>junitlauncher</code> element.</td>
+ <td>No</td>
</tr>
<tr>
- <td valign="top">outputDir</td>
- <td valign="top">Directory to write the reports to.</td>
- <td align="center" valign="top">No; default is the base directory of the project.</td>
+ <td>outputDir</td>
+ <td>Directory to write the reports to.</td>
+ <td>No; default is the base directory of the project.</td>
</tr>
<tr>
- <td valign="top">if</td>
- <td valign="top">Only run this test <a href="../properties.html#if+unless">if the named property is set</a>.
- </td>
- <td align="center" valign="top">No</td>
+ <td>if</td>
+ <td>Only run this test <a href="../properties.html#if+unless">if the named property is
+ set</a>.</td>
+ <td>No</td>
</tr>
<tr>
- <td valign="top">unless</td>
- <td valign="top">Only run this test <a href="../properties.html#if+unless">if the named property is <b>not</b>
- set</a>.
- </td>
- <td align="center" valign="top">No</td>
+ <td>unless</td>
+ <td>Only run this test <a href="../properties.html#if+unless">if the named property
+ is <strong>not</strong> set</a>.</td>
+ <td>No</td>
</tr>
</table>
@@ -338,57 +344,53 @@ The <code>listener</code> element supports the following attributes:
<p>Define a number of tests based on pattern matching.</p>
<p>
- <code>testclasses</code> collects the included <a href="../Types/resources.html">resources</a> from any number
- of nested <a
- href="../Types/resources.html#collection">Resource Collection</a>s. It then
- selects each resource whose name ends in <code>.class</code>. These classes are then passed on to the
- JUnit 5 platform for it to decide and run them as tests.
+ <code>testclasses</code> collects the included <a href="../Types/resources.html">resources</a>
+ from any number of nested <a href="../Types/resources.html#collection">Resource
+ Collection</a>s. It then selects each resource whose name ends in <code>.class</code>. These
+ classes are then passed on to the JUnit 5 platform for it to decide and run them as tests.
</p>
-<table>
+<table class="attr">
<tr>
- <td valign="top"><b>Attribute</b></td>
- <td valign="top"><b>Description</b></td>
- <td valign="top"><b>Required</b></td>
+ <th>Attribute</th>
+ <th>Description</th>
+ <th>Required</th>
</tr>
<tr>
- <td valign="top">haltOnFailure</td>
- <td valign="top">Stop the build process if a failure occurs during the test
- run (exceptions are considered as failures too).
- Overrides value set on <code>junitlauncher</code> element.
- </td>
- <td align="center" valign="top">No</td>
+ <td>haltOnFailure</td>
+ <td>Stop the build process if a failure occurs during the test run (exceptions are
+ considered as failures too). Overrides value set on <code>junitlauncher</code>
+ element.</td>
+ <td>No</td>
</tr>
<tr>
- <td valign="top">failureProperty</td>
- <td valign="top">The name of a property to set in the event of a failure
- (exceptions are considered failures as well). Overrides value set on
- <code>junitlauncher</code> element.
- </td>
- <td align="center" valign="top">No</td>
+ <td>failureProperty</td>
+ <td>The name of a property to set in the event of a failure (exceptions are considered
+ failures as well). Overrides value set on <code>junitlauncher</code> element.</td>
+ <td>No</td>
</tr>
<tr>
- <td valign="top">outputDir</td>
- <td valign="top">Directory to write the reports to.</td>
- <td align="center" valign="top">No; default is the base directory of the project.</td>
+ <td>outputDir</td>
+ <td>Directory to write the reports to.</td>
+ <td>No; default is the base directory of the project.</td>
</tr>
<tr>
- <td valign="top">if</td>
- <td valign="top">Only run the tests <a href="../properties.html#if+unless">if the named property is set</a>.
- </td>
- <td align="center" valign="top">No</td>
+ <td>if</td>
+ <td>Only run the tests <a href="../properties.html#if+unless">if the named property is
+ set</a>.</td>
+ <td>No</td>
</tr>
<tr>
- <td valign="top">unless</td>
- <td valign="top">Only run the tests <a href="../properties.html#if+unless">if the named property is <b>not</b>
- set</a>.
- </td>
- <td align="center" valign="top">No</td>
+ <td>unless</td>
+ <td>Only run the tests <a href="../properties.html#if+unless">if the named property
+ is <strong>not</strong> set</a>.</td>
+ <td>No</td>
</tr>
</table>
<p>
- <code>testclasses</code> can define their own listeners via nested <code>listener</code> elements.
+ <code>testclasses</code> can define their own listeners via nested <code>listener</code>
+ elements.
</p>
<h3>Examples</h3>
@@ -401,12 +403,10 @@ The <code>listener</code> element supports the following attributes:
<junitlauncher>
<classpath refid="test.classpath"/>
<test name="org.myapp.SimpleTest"/>
-</junitlauncher>
-
-</pre>
+</junitlauncher></pre>
<p>
- Launches the JUnit 5 platform to run the <code>org.myapp.SimpleTest</code> test
+ Launches the JUnit 5 platform to run the <samp>org.myapp.SimpleTest</samp> test
</p>
<pre>
@@ -418,20 +418,20 @@ The <code>listener</code> element supports the following attributes:
</pre>
<p>
- Launches the JUnit 5 platform to run the <code>org.myapp.SimpleTest</code> and the
- <code>org.myapp.AnotherTest</code> tests. The build process will be stopped if any
- test, in the <code>org.myapp.SimpleTest</code>, fails.
+ Launches the JUnit 5 platform to run the <samp>org.myapp.SimpleTest</samp> and
+ the <samp>org.myapp.AnotherTest</samp> tests. The build process will be stopped if any test, in
+ the <samp>org.myapp.SimpleTest</samp>, fails.
</p>
<pre>
<junitlauncher>
<classpath refid="test.classpath"/>
<test name="org.myapp.SimpleTest" methods="testFoo, testBar"/>
-</junitlauncher>
-</pre>
+</junitlauncher></pre>
+
<p>
- Launches the JUnit 5 platform to run only the <code>testFoo</code> and <code>testBar</code> methods of the
- <code>org.myapp.SimpleTest</code> test class.
+ Launches the JUnit 5 platform to run only the <samp>testFoo</samp> and <samp>testBar</samp>
+ methods of the <samp>org.myapp.SimpleTest</samp> test class.
</p>
<pre>
@@ -443,12 +443,12 @@ The <code>listener</code> element supports the following attributes:
<include name="org/example/**/tests/**/"/>
</fileset>
</testclasses>
-</junitlauncher>
-</pre>
+</junitlauncher></pre>
<p>
- Selects any <code>.class</code> files that match the <code>org/example/**/tests/**/</code> <code>fileset</code>
- filter, under the <code>${build.classes.dir}</code> and passes those classes to the JUnit 5 platform for
+ Selects any <samp>.class</samp> files that match
+ the <samp>org/example/**/tests/**/</samp> <code>fileset</code> filter, under
+ the <samp>${build.classes.dir}</samp> and passes those classes to the JUnit 5 platform for
execution as tests.
</p>
@@ -463,19 +463,17 @@ The <code>listener</code> element supports the following attributes:
<listener type="legacy-xml" sendSysOut="true" sendSysErr="true"/>
<listener type="legacy-plain" sendSysOut="true" />
</testclasses>
-</junitlauncher>
-</pre>
+</junitlauncher></pre>
<p>
- Selects any <code>.class</code> files that match the <code>org/example/**/tests/**/</code> <code>fileset</code>
- filter, under the <code>${build.classes.dir}</code> and passes those classes to the JUnit 5 platform for
- execution as tests. Test results will be written out to the <code>${output.dir}</code> by the
- <code>legacy-xml</code> and <code>legacy-plain</code> formatters, in separate files.
- Furthermore, both the <code>legacy-xml</code> and the <code>legacy-plain</code>
- listeners, above, are configured to receive the standard output content generated by the tests.
- The <code>legacy-xml</code> listener is configured to receive standard error content as well.
-
+ Selects any <samp>.class</samp> files that match
+ the <samp>org/example/**/tests/**/</samp> <code>fileset</code> filter, under
+ the <samp>${build.classes.dir}</samp> and passes those classes to the JUnit 5 platform for
+ execution as tests. Test results will be written out to the <samp>${output.dir}</samp> by
+ the <q>legacy-xml</q> and <q>legacy-plain</q> formatters, in separate files. Furthermore, both
+ the <q>legacy-xml</q> and the <q>legacy-plain</q> listeners, above, are configured to receive
+ the standard output content generated by the tests. The <q>legacy-xml</q> listener is
+ configured to receive standard error content as well.
</p>
-
</body>
</html>
http://git-wip-us.apache.org/repos/asf/ant/blob/50b9be73/manual/tasklist.html
----------------------------------------------------------------------
diff --git a/manual/tasklist.html b/manual/tasklist.html
index 9adcf5a..2a40149 100644
--- a/manual/tasklist.html
+++ b/manual/tasklist.html
@@ -108,7 +108,8 @@
<li><a href="Tasks/jjtree.html">JJTree</a></li>
<li><a href="Tasks/jlink.html"><em>Jlink</em></a></li>
<li><a href="Tasks/jspc.html"><em>JspC</em></a></li>
- <li><a href="Tasks/junit.html">JUnit</a></li>
+ <li><a href="Tasks/junit.html">JUnit</a> (3 & 4)</li>
+ <li><a href="Tasks/junitlauncher.html">JUnitLauncher</a> (JUnit 5)</li>
<li><a href="Tasks/junitreport.html">JUnitReport</a></li>
<li><a href="Tasks/length.html">Length</a><br/></li>
<li><a href="Tasks/loadfile.html">LoadFile</a></li>