ScalaTestFramework

class ScalaTestFramework extends Framework

Class that makes ScalaTest tests visible to SBT (prior to version 0.13).

To use ScalaTest in SBT, you should add ScalaTest as dependency in your SBT build file, the following shows an example for using ScalaTest 2.0 with Scala 2.10.x project:

"org.scalatest" % "scalatest_2.10" % "2.0" % "test"

To pass argument to ScalaTest from SBT, you can use testOptions:

testOptions in Test += Tests.Argument("-u", "target/junit")  // Use JUnitXmlReporter

If you are using multiple testing frameworks, you can pass arguments specific to ScalaTest only:

testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-u", "target/junit") // Use JUnitXmlReporter

=== Supported arguments ===

Integration in SBT 0.13 supports same argument format as <code>Runner</code>, except the following arguments:

  • -R -- runpath is not supported because test path and discovery is handled by SBT

  • -s -- suite is not supported because SBT's test-only serves the similar purpose

  • -A -- again is not supported because SBT's test-quick serves the similar purpose

  • -j -- junit is not supported because in SBT different test framework should be supported by its corresponding Framework implementation

  • -b -- testng is not supported because in SBT different test framework should be supported by its corresponding Framework implementation

  • -P -- concurrent/parallel is not supported because parallel execution is controlled by SBT.

  • -q is not supported because test discovery should be handled by SBT, and SBT's test-only or test filter serves the similar purpose

  • -T is not supported because correct ordering of text output is handled by SBT

  • -g is not supported because current Graphic Reporter implementation works differently than standard reporter

It is highly recommended to upgrade to SBT 0.13 to enjoy the best of ScalaTest 2.0 SBT integration. Due to limitations in old Framework API (prior to SBT 0.13), it is hard to support ScalaTest features in the most efficient way. One example is the nested suites, where in old Framework API they has to be executed sequentially, while new Framework API (included in SBT 0.13) the concept of nested Task has enabled parallel execution of ScalaTest's nested suites.
trait Framework
class Object
trait Matchable
class Any

Value members

Concrete methods

def name: String

Returns "ScalaTest", the human readable name for this test framework.

Returns "ScalaTest", the human readable name for this test framework.

def testRunner(testLoader: ClassLoader, loggers: Array[Logger]): ScalaTestRunner

Returns an org.scalatools.testing.Runner that will load test classes via the passed testLoader and direct output from running the tests to the passed array of Loggers.

Returns an org.scalatools.testing.Runner that will load test classes via the passed testLoader and direct output from running the tests to the passed array of Loggers.

def tests: Array[Fingerprint]

Returns an array containing fingerprint for ScalaTest's test, which are classes whose superclass name is org.scalatest.Suite or is annotated with org.scalatest.WrapWith.

Returns an array containing fingerprint for ScalaTest's test, which are classes whose superclass name is org.scalatest.Suite or is annotated with org.scalatest.WrapWith.