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:
-
graphic -
file -
memory -
junitxml -
html -
stdout -
stderr -
reporterclass
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"/>
- Source
- ScalaTestAntTask.scala
- Alphabetic
- By Inheritance
- ScalaTestAntTask
- Task
- ProjectComponent
- Cloneable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ScalaTestAntTask()
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addConfiguredConfig(config: NameValuePair): Unit
Sets values from nested element
config. - def addConfiguredJvmArg(arg: JvmArg): Unit
Sets value from nested element
jvmarg. - def addConfiguredMembersOnly(membersonly: PackageElement): Unit
Sets value from nested element
membersonly. - def addConfiguredReporter(reporter: ReporterElement): Unit
Sets value from nested element
reporter. - def addConfiguredRunpath(runpath: Path): Unit
Sets value from nested element
runpath. - def addConfiguredRunpathUrl(runpathurl: RunpathUrl): Unit
Sets value from nested element
runpathurl. - def addConfiguredStyle(style: StyleElement): Unit
- def addConfiguredSuite(suite: SuiteElement): Unit
Sets value from nested element
suite. - def addConfiguredTagsToExclude(tagsToExclude: TextElement): Unit
Sets value from nested element
tagsToExclude. - def addConfiguredTagsToInclude(tagsToInclude: TextElement): Unit
Sets value from nested element
tagsToInclude. - def addConfiguredTest(test: TestElement): Unit
Sets value from nested element
test. - def addConfiguredTestNGSuites(testNGSuitePath: Path): Unit
Sets value from nested element
testngsuites. - def addConfiguredTestsfile(testsfile: TestsfileElement): Unit
Sets value from nested element
testsfile. - def addConfiguredWildcard(wildcard: PackageElement): Unit
Sets value from nested element
wildcard. - final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def bindToOwner(arg0: Task): Unit
- Definition Classes
- Task
- def buildArgsList: List[String]
- def clone(): AnyRef
- Definition Classes
- ProjectComponent → AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException])
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def execute(): Unit
Executes the task.
Executes the task.
- Definition Classes
- ScalaTestAntTask → Task
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getDescription(): String
- Definition Classes
- ProjectComponent
- def getLocation(): Location
- Definition Classes
- ProjectComponent
- def getOwningTarget(): Target
- Definition Classes
- Task
- def getProject(): Project
- Definition Classes
- ProjectComponent
- def getRuntimeConfigurableWrapper(): RuntimeConfigurable
- Definition Classes
- Task
- def getTaskName(): String
- Definition Classes
- Task
- def getTaskType(): String
- Definition Classes
- Task
- def getWrapper(): RuntimeConfigurable
- Attributes
- protected[ant]
- Definition Classes
- Task
- def handleErrorFlush(arg0: String): Unit
- Attributes
- protected[ant]
- Definition Classes
- Task
- def handleErrorOutput(arg0: String): Unit
- Attributes
- protected[ant]
- Definition Classes
- Task
- def handleFlush(arg0: String): Unit
- Attributes
- protected[ant]
- Definition Classes
- Task
- def handleInput(arg0: Array[Byte], arg1: Int, arg2: Int): Int
- Attributes
- protected[ant]
- Definition Classes
- Task
- Annotations
- @throws(classOf[java.io.IOException])
- def handleOutput(arg0: String): Unit
- Attributes
- protected[ant]
- Definition Classes
- Task
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def init(): Unit
- Definition Classes
- Task
- Annotations
- @throws(classOf[org.apache.tools.ant.BuildException])
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def isInvalid(): Boolean
- Attributes
- protected[ant]
- Definition Classes
- Task
- def log(arg0: String, arg1: Throwable, arg2: Int): Unit
- Definition Classes
- Task
- def log(arg0: Throwable, arg1: Int): Unit
- Definition Classes
- Task
- def log(arg0: String, arg1: Int): Unit
- Definition Classes
- Task → ProjectComponent
- def log(arg0: String): Unit
- Definition Classes
- Task → ProjectComponent
- def maybeConfigure(): Unit
- Definition Classes
- Task
- Annotations
- @throws(classOf[org.apache.tools.ant.BuildException])
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def perform(): Unit
- Definition Classes
- Task
- def reconfigure(): Unit
- Definition Classes
- Task
- def setDescription(arg0: String): Unit
- Definition Classes
- ProjectComponent
- def setFork(fork: Boolean): Unit
Sets value of the
forkattribute. - def setHaltonfailure(haltonfailure: Boolean): Unit
Sets value of the
haltonfailureattribute. - def setLocation(arg0: Location): Unit
- Definition Classes
- ProjectComponent
- def setMaxmemory(max: String): Unit
Sets value of the
maxmemoryattribute. - def setMembersonly(packageName: String): Unit
Sets value of
membersonlyattribute. - def setNumthreads(numthreads: Int): Unit
Sets value of the
numthreadsattribute. - def setOwningTarget(arg0: Target): Unit
- Definition Classes
- Task
- def setParallel(parallel: Boolean): Unit
Sets value of the
parallelattribute. - def setProject(arg0: Project): Unit
- Definition Classes
- ProjectComponent
- def setRunpath(runpath: Path): Unit
Sets value of the
runpathattribute. - def setRuntimeConfigurableWrapper(arg0: RuntimeConfigurable): Unit
- Definition Classes
- Task
- def setSortSuites(sortSuites: Boolean): Unit
Sets value of the
sortSuitesattribute. - def setSpanScaleFactor(spanScaleFactor: Double): Unit
Sets value of the
spanScaleFactorattribute. - def setStyle(style: String): Unit
Sets value of
styleattribute. - def setSuffixes(suffixes: String): Unit
Sets value of the
suffixesattribute. - def setSuite(suite: SuiteElement): Unit
Sets value of
suiteattribute. - def setTagsToExclude(tagsToExclude: String): Unit
Sets value of the
tagsToExcludeattribute. - def setTagsToInclude(tagsToInclude: String): Unit
Sets value of the
tagsToIncludeattribute. - def setTaskName(arg0: String): Unit
- Definition Classes
- Task
- def setTaskType(arg0: String): Unit
- Definition Classes
- Task
- def setTestNGSuites(testNGSuitePath: Path): Unit
Sets value of the
testngsuitesattribute. - def setTestsfile(testsfile: String): Unit
Sets value of the
testsfileattribute. - def setWildcard(packageName: String): Unit
Sets value of
wildcardattribute. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()