java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.optional.junitlauncher.confined.JUnitLauncherTask
All Implemented Interfaces:
java.lang.Cloneable

public class JUnitLauncherTask
extends Task
An Ant Task responsible for launching the JUnit platform for running tests. This requires a minimum of JUnit 5, since that's the version in which the JUnit platform launcher APIs were introduced.

This task in itself doesn't run the JUnit tests, instead the sole responsibility of this task is to setup the JUnit platform launcher, build requests, launch those requests and then parse the result of the execution to present in a way that's been configured on this Ant task.

Furthermore, this task allows users control over which classes to select for passing on to the JUnit 5 platform for test execution. It however, is solely the JUnit 5 platform, backed by test engines that decide and execute the tests.

See Also:
JUnit 5 documentation
  • Constructor Details

  • Method Details

    • execute

      public void execute() throws BuildException
      Description copied from class: Task
      Called by the project to let the task do its work. This method may be called more than once, if the task is invoked more than once. For example, if target1 and target2 both depend on target3, then running "ant target1 target2" will run all tasks in target3 twice.
      Overrides:
      execute in class Task
      Throws:
      BuildException - if something goes wrong with the build.
    • addConfiguredClassPath

      public void addConfiguredClassPath​(Path path)
      Adds the Path to the classpath which will be used for execution of the tests
      Parameters:
      path - The classpath
    • addConfiguredTest

      public void addConfiguredTest​(SingleTestClass test)
      Adds a SingleTestClass that will be passed on to the underlying JUnit platform for possible execution of the test
      Parameters:
      test - The test
    • addConfiguredTestClasses

      public void addConfiguredTestClasses​(TestClasses testClasses)
      Adds TestClasses that will be passed on to the underlying JUnit platform for possible execution of the tests
      Parameters:
      testClasses - The test classes
    • addConfiguredListener

      public void addConfiguredListener​(ListenerDefinition listener)
      Adds a listener which will be enrolled for listening to test execution events
      Parameters:
      listener - The listener
    • setHaltonfailure

      public void setHaltonfailure​(boolean haltonfailure)
    • setFailureProperty

      public void setFailureProperty​(java.lang.String failureProperty)
    • setPrintSummary

      public void setPrintSummary​(boolean printSummary)
    • setIncludeTags

      public void setIncludeTags​(java.lang.String includes)
      Tags to include. Will trim each tag.
      Parameters:
      includes - comma separated list of tags to include while running the tests.
      Since:
      Ant 1.10.7
    • setExcludeTags

      public void setExcludeTags​(java.lang.String excludes)
      Tags to exclude. Will trim each tag.
      Parameters:
      excludes - comma separated list of tags to exclude while running the tests.
      Since:
      Ant 1.10.7
    • createExecuteWatchdog

      protected ExecuteWatchdog createExecuteWatchdog​(long timeout)