org.scalatest.tools

ScalaTestAntTask

class ScalaTestAntTask extends Task

An ant task to run ScalaTest. Instructions on how to specify various options are below. See the main documentation for object Runner class for a description of what each of the options does.

To use the ScalaTest ant task, you must first define it in your ant file using taskdef. Here's an example:

 <path id="scalatest.classpath">
   <pathelement location="${lib}/scalatest.jar"/>
   <pathelement location="${lib}/scala-library.jar"/>
   <-- scala-actors.jar needed only for ScalaTest <= 1.9.1 on Scala >= 2.10.0 -->
   <pathelement location="${lib}/scala-actors.jar"/>
 </path>

 <target name="main" depends="dist">
   <taskdef name="scalatest" classname="org.scalatest.tools.ScalaTestAntTask">
     <classpath refid="scalatest.classpath"/>
   </taskdef>

   <scalatest ...
 </target>

Note that you only need the scala-actors.jar if you are using ScalaTest version 1.9.1 or earlier with Scala 2.10 or later. Once defined, you use the task by specifying information in a scalatest element:

  <scalatest ...>
    ...
  </scalatest>

You can place key value pairs into the config map using nested <config> elements, like this:

  <scalatest>
    <config name="dbname" value="testdb"/>
    <config name="server" value="192.168.1.188"/>

You can specify a runpath using either a runpath attribute and/or nested <runpath> elements, using standard ant path notation:

  <scalatest runpath="serviceuitest-1.1beta4.jar:myjini">

or

  <scalatest>
    <runpath>
      <pathelement location="serviceuitest-1.1beta4.jar"/>
      <pathelement location="myjini"/>
    </runpath>

To add a URL to your runpath, use a <runpathurl> element (since ant paths don't support URLs):

  <scalatest>
    <runpathurl url="http://foo.com/bar.jar"/>

You can specify reporters using nested <reporter> elements, where the type attribute must be one of the following:

Each may include a config attribute to specify the reporter configuration. Types file, memory, junitxml, html, and reporterclass require additional attributes (the css attribute is optional for the html reporter):

  <scalatest>
    <reporter type="stdout" config="FD"/>
    <reporter type="file" filename="test.out"/>
    <reporter type="memory" filename="target/memory.out"/>
    <reporter type="junitxml" directory="target"/>
    <reporter type="html" directory="target" css="src/main/html/mystylesheet.css"/>
    <reporter type="reporterclass" classname="my.ReporterClass"/>

Specify tags to include and/or exclude using <tagsToInclude> and <tagsToExclude> elements, like this:

  <scalatest>
    <tagsToInclude>
        CheckinTests
        FunctionalTests
    </tagsToInclude>

    <tagsToExclude>
        SlowTests
        NetworkTests
    </tagsToExclude>

Tags to include or exclude can also be specified using attributes tagsToInclude and tagsToExclude, with arguments specified as whitespace- delimited lists.

To specify suites to run, use either a suite attribute or nested <suite> elements:

  <scalatest suite="com.artima.serviceuitest.ServiceUITestkit">

or

  <scalatest>
    <suite classname="com.artima.serviceuitest.ServiceUITestkit"/>

To specify tests to run, use nested <test> elements with either a 'name' or 'substring' attribute:

  <scalatest>
    <test name="hello test"/>
    <test substring="hello"/>

To specify suites using members-only or wildcard package names, use either the membersonly or wildcard attributes, or nested <membersonly> or <wildcard> elements:

  <scalatest membersonly="com.artima.serviceuitest">

or

  <scalatest wildcard="com.artima.joker">

or

  <scalatest>
    <membersonly package="com.artima.serviceuitest"/>
    <wildcard package="com.artima.joker"/>

Use attribute suffixes="[pipe-delimited list of suffixes]" to specify that only classes whose names end in one of the specified suffixes should be included in discovery searches for Suites to test. This can be used to improve discovery time or to limit the scope of a test. E.g.:

  <scalatest suffixes="Spec|Suite">

Use attribute testsfile="[file name]" or nested <testsfile> elements to specify files containing a list of tests to be run. This is used to rerun failed/canceled tests listed in files written by the memory reporter. E.g.:

  <scalatest testsfile="target/memory.out">

or

  <scalatest>
    <testsfile filename="target/memory.out"/>

Use attribute parallel="true" to specify parallel execution of suites. (If the parallel attribute is left out or set to false, suites will be executed sequentially by one thread.) When parallel is true, you can include an optional sortSuites attribute to request that events be sorted on-the-fly so that events for the same suite are reported together, with a timeout, (e.g., sortSuites="true"), and an optional numthreads attribute to specify the number of threads to be created in thread pool (e.g., numthreads="10").

Use attribute haltonfailure="true" to cause ant to fail the build if there's a test failure.

Use attribute fork="true" to cause ant to run the tests in a separate process.

When fork is true, attribute maxmemory may be used to specify the maximum memory size that will be passed to the forked jvm.  For example, the following setting will cause "-Xmx1280M" to be passed to the java command used to run the tests.

  <scalatest maxmemory="1280M">

When fork is true, nested <jvmarg> elements may be used to pass additional arguments to the forked jvm. For example, if you are running into 'PermGen space' memory errors, you could add the following jvmarg to bump up the JVM's MaxPermSize value:

  <jvmarg value="-XX:MaxPermSize=128m"/>

Linear Supertypes
Task, ProjectComponent, Cloneable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ScalaTestAntTask
  2. Task
  3. ProjectComponent
  4. Cloneable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ScalaTestAntTask()

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def addConfiguredConfig(config: NameValuePair): Unit

    Sets values from nested element config.

  7. def addConfiguredJvmArg(arg: JvmArg): Unit

    Sets value from nested element jvmarg.

  8. def addConfiguredMembersOnly(membersonly: PackageElement): Unit

    Sets value from nested element membersonly.

  9. def addConfiguredReporter(reporter: ReporterElement): Unit

    Sets value from nested element reporter.

  10. def addConfiguredRunpath(runpath: Path): Unit

    Sets value from nested element runpath.

  11. def addConfiguredRunpathUrl(runpathurl: RunpathUrl): Unit

    Sets value from nested element runpathurl.

  12. def addConfiguredStyle(style: StyleElement): Unit

  13. def addConfiguredSuite(suite: SuiteElement): Unit

    Sets value from nested element suite.

  14. def addConfiguredTagsToExclude(tagsToExclude: TextElement): Unit

    Sets value from nested element tagsToExclude.

  15. def addConfiguredTagsToInclude(tagsToInclude: TextElement): Unit

    Sets value from nested element tagsToInclude.

  16. def addConfiguredTest(test: TestElement): Unit

    Sets value from nested element test.

  17. def addConfiguredTestNGSuites(testNGSuitePath: Path): Unit

    Sets value from nested element testngsuites.

  18. def addConfiguredTestsfile(testsfile: TestsfileElement): Unit

    Sets value from nested element testsfile.

  19. def addConfiguredWildcard(wildcard: PackageElement): Unit

    Sets value from nested element wildcard.

  20. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  21. final def bindToOwner(arg0: Task): Unit

    Definition Classes
    Task
  22. def buildArgsList: List[String]

  23. def clone(): AnyRef

    Definition Classes
    ProjectComponent → AnyRef
    Annotations
    @throws()
  24. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  25. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  26. def execute(): Unit

    Executes the task.

    Executes the task.

    Definition Classes
    ScalaTestAntTask → Task
  27. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  28. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  29. def getDescription(): String

    Definition Classes
    ProjectComponent
  30. def getLocation(): Location

    Definition Classes
    ProjectComponent
  31. def getOwningTarget(): Target

    Definition Classes
    Task
  32. def getProject(): Project

    Definition Classes
    ProjectComponent
  33. def getRuntimeConfigurableWrapper(): RuntimeConfigurable

    Definition Classes
    Task
  34. def getTaskName(): String

    Definition Classes
    Task
  35. def getTaskType(): String

    Definition Classes
    Task
  36. def getWrapper(): RuntimeConfigurable

    Attributes
    protected[org.apache.tools.ant]
    Definition Classes
    Task
  37. def handleErrorFlush(arg0: String): Unit

    Attributes
    protected[org.apache.tools.ant]
    Definition Classes
    Task
  38. def handleErrorOutput(arg0: String): Unit

    Attributes
    protected[org.apache.tools.ant]
    Definition Classes
    Task
  39. def handleFlush(arg0: String): Unit

    Attributes
    protected[org.apache.tools.ant]
    Definition Classes
    Task
  40. def handleInput(arg0: Array[Byte], arg1: Int, arg2: Int): Int

    Attributes
    protected[org.apache.tools.ant]
    Definition Classes
    Task
    Annotations
    @throws()
  41. def handleOutput(arg0: String): Unit

    Attributes
    protected[org.apache.tools.ant]
    Definition Classes
    Task
  42. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  43. def init(): Unit

    Definition Classes
    Task
    Annotations
    @throws()
  44. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  45. final def isInvalid(): Boolean

    Attributes
    protected[org.apache.tools.ant]
    Definition Classes
    Task
  46. def log(arg0: String, arg1: Throwable, arg2: Int): Unit

    Definition Classes
    Task
  47. def log(arg0: Throwable, arg1: Int): Unit

    Definition Classes
    Task
  48. def log(arg0: String, arg1: Int): Unit

    Definition Classes
    Task → ProjectComponent
  49. def log(arg0: String): Unit

    Definition Classes
    Task → ProjectComponent
  50. def maybeConfigure(): Unit

    Definition Classes
    Task
    Annotations
    @throws()
  51. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  52. final def notify(): Unit

    Definition Classes
    AnyRef
  53. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  54. final def perform(): Unit

    Definition Classes
    Task
  55. def reconfigure(): Unit

    Definition Classes
    Task
  56. def setDescription(arg0: String): Unit

    Definition Classes
    ProjectComponent
  57. def setFork(fork: Boolean): Unit

    Sets value of the fork attribute.

  58. def setHaltonfailure(haltonfailure: Boolean): Unit

    Sets value of the haltonfailure attribute.

  59. def setLocation(arg0: Location): Unit

    Definition Classes
    ProjectComponent
  60. def setMaxmemory(max: String): Unit

    Sets value of the maxmemory attribute.

  61. def setMembersonly(packageName: String): Unit

    Sets value of membersonly attribute.

  62. def setNumthreads(numthreads: Int): Unit

    Sets value of the numthreads attribute.

  63. def setOwningTarget(arg0: Target): Unit

    Definition Classes
    Task
  64. def setParallel(parallel: Boolean): Unit

    Sets value of the parallel attribute.

  65. def setProject(arg0: Project): Unit

    Definition Classes
    ProjectComponent
  66. def setRunpath(runpath: Path): Unit

    Sets value of the runpath attribute.

  67. def setRuntimeConfigurableWrapper(arg0: RuntimeConfigurable): Unit

    Definition Classes
    Task
  68. def setSortSuites(sortSuites: Boolean): Unit

    Sets value of the sortSuites attribute.

  69. def setSpanScaleFactor(spanScaleFactor: Double): Unit

    Sets value of the spanScaleFactor attribute.

  70. def setStyle(style: String): Unit

    Sets value of style attribute.

  71. def setSuffixes(suffixes: String): Unit

    Sets value of the suffixes attribute.

  72. def setSuite(suite: SuiteElement): Unit

    Sets value of suite attribute.

  73. def setTagsToExclude(tagsToExclude: String): Unit

    Sets value of the tagsToExclude attribute.

  74. def setTagsToInclude(tagsToInclude: String): Unit

    Sets value of the tagsToInclude attribute.

  75. def setTaskName(arg0: String): Unit

    Definition Classes
    Task
  76. def setTaskType(arg0: String): Unit

    Definition Classes
    Task
  77. def setTestNGSuites(testNGSuitePath: Path): Unit

    Sets value of the testngsuites attribute.

  78. def setTestsfile(testsfile: String): Unit

    Sets value of the testsfile attribute.

  79. def setWildcard(packageName: String): Unit

    Sets value of wildcard attribute.

  80. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  81. def toString(): String

    Definition Classes
    AnyRef → Any
  82. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  83. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  84. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Deprecated Value Members

  1. def addConfiguredExcludes(excludes: TextElement): Unit

    Sets value from nested element excludes.

    Sets value from nested element excludes. The excludes attribute has been deprecated and will be removed in a future version of ScalaTest. Please use the tagsToExclude attribute instead.

    Annotations
    @deprecated
    Deprecated

    Please use tagsToExclude instead

  2. def addConfiguredIncludes(includes: TextElement): Unit

    Sets value from nested element includes.

    Sets value from nested element includes. The includes attribute has been deprecated and will be removed in a future version of ScalaTest. Please use the tagsToInclude attribute instead.

    Annotations
    @deprecated
    Deprecated

    Please use tagsToInclude instead

  3. def addConfiguredProperty(property: NameValuePair): Unit

    Sets values from nested element property.

    Sets values from nested element property. The property attribute has been deprecated and will be removed in a future version of ScalaTest. Please use the config attribute instead.

    Annotations
    @deprecated
    Deprecated

    Please use config instead

  4. def setConcurrent(concurrent: Boolean): Unit

    Sets value of the concurrent attribute.

    Sets value of the concurrent attribute. Note: The concurrent attribute has been deprecated and will be removed in a future version of ScalaTest. Please use the parallel attribute instead.

    Annotations
    @deprecated
    Deprecated

    Please use parallel instead

Inherited from Task

Inherited from ProjectComponent

Inherited from Cloneable

Inherited from AnyRef

Inherited from Any

Ungrouped