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
- All
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( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
execute(): Unit
Executes the task.
Executes the task.
- Definition Classes
- ScalaTestAntTask → Task
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- 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[org.apache.tools.ant]
- Definition Classes
- Task
-
def
handleErrorFlush(arg0: String): Unit
- Attributes
- protected[org.apache.tools.ant]
- Definition Classes
- Task
-
def
handleErrorOutput(arg0: String): Unit
- Attributes
- protected[org.apache.tools.ant]
- Definition Classes
- Task
-
def
handleFlush(arg0: String): Unit
- Attributes
- protected[org.apache.tools.ant]
- Definition Classes
- Task
-
def
handleInput(arg0: Array[Byte], arg1: Int, arg2: Int): Int
- Attributes
- protected[org.apache.tools.ant]
- Definition Classes
- Task
- Annotations
- @throws( classOf[java.io.IOException] )
-
def
handleOutput(arg0: String): Unit
- Attributes
- protected[org.apache.tools.ant]
- Definition Classes
- Task
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
init(): Unit
- Definition Classes
- Task
- Annotations
- @throws( ... )
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
isInvalid(): Boolean
- Attributes
- protected[org.apache.tools.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( ... )
-
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
fork
attribute. -
def
setHaltonfailure(haltonfailure: Boolean): Unit
Sets value of the
haltonfailure
attribute. -
def
setLocation(arg0: Location): Unit
- Definition Classes
- ProjectComponent
-
def
setMaxmemory(max: String): Unit
Sets value of the
maxmemory
attribute. -
def
setMembersonly(packageName: String): Unit
Sets value of
membersonly
attribute. -
def
setNumthreads(numthreads: Int): Unit
Sets value of the
numthreads
attribute. -
def
setOwningTarget(arg0: Target): Unit
- Definition Classes
- Task
-
def
setParallel(parallel: Boolean): Unit
Sets value of the
parallel
attribute. -
def
setProject(arg0: Project): Unit
- Definition Classes
- ProjectComponent
-
def
setRunpath(runpath: Path): Unit
Sets value of the
runpath
attribute. -
def
setRuntimeConfigurableWrapper(arg0: RuntimeConfigurable): Unit
- Definition Classes
- Task
-
def
setSortSuites(sortSuites: Boolean): Unit
Sets value of the
sortSuites
attribute. -
def
setSpanScaleFactor(spanScaleFactor: Double): Unit
Sets value of the
spanScaleFactor
attribute. -
def
setStyle(style: String): Unit
Sets value of
style
attribute. -
def
setSuffixes(suffixes: String): Unit
Sets value of the
suffixes
attribute. -
def
setSuite(suite: SuiteElement): Unit
Sets value of
suite
attribute. -
def
setTagsToExclude(tagsToExclude: String): Unit
Sets value of the
tagsToExclude
attribute. -
def
setTagsToInclude(tagsToInclude: String): Unit
Sets value of the
tagsToInclude
attribute. -
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
testngsuites
attribute. -
def
setTestsfile(testsfile: String): Unit
Sets value of the
testsfile
attribute. -
def
setWildcard(packageName: String): Unit
Sets value of
wildcard
attribute. -
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )