class JUnit3Suite extends TestCase with Suite with AssertionsForJUnit
A Suite that is also a junit.framework.TestCase.
A JUnit3Suite may be run by either JUnit 3 (such as JUnit 3.8) or ScalaTest's runner. You write it the way
you write a JUnit 3 TestCase. Tests are methods that start with test, take no parameters, and
have a Unit return type. You manage fixtures with methods setUp and tearDown.
Here's an example:
import org.scalatest.junit.JUnit3Suite import scala.collection.mutable.ListBuffer
class BlastFromThePastSuite extends JUnit3Suite {
var sb: StringBuilder = _ var lb: ListBuffer[String] = _
override def setUp(): Unit = { sb = new StringBuilder("ScalaTest is ") lb = new ListBuffer[String] }
def testEasy(): Unit = { // Uses JUnit-style assertions sb.append("easy!") assertEquals("ScalaTest is easy!", sb.toString) assertTrue(lb.isEmpty) lb += "sweet" }
def testFun(): Unit = { // Uses ScalaTest assertions sb.append("fun!") assert(sb.toString === "ScalaTest is fun!") assert(lb.isEmpty) } }
You can use either JUnit's assertions, inherited from TestCase, or ScalaTest's, inherited from AssertionsForJUnit.
When writing JUnit 3 tests in Scala, you should keep in mind that JUnit 3 will not run tests that have a return type other than
Unit. Thus it is best to explicitly state the Unit result type, like this:
def testGoodIdea(): Unit = { // result type will be Unit // ... }
Instead of this:
def testBadIdea() = { // result type will be inferred // ... }
If the testBadIdea method ends in an expression that has a result type other than Unit, the Scala
compiler will infer a result type to the testBadIdea method to be the same non-Unit type. As a "result,"
JUnit 3 will not discover or run the testBadIdea method at all.
- Self Type
- JUnit3Suite
- Source
- JUnit3Suite.scala
- Alphabetic
- By Inheritance
- JUnit3Suite
- AssertionsForJUnit
- VersionSpecificAssertionsForJUnit
- Suite
- Serializable
- Assertions
- TripleEquals
- TripleEqualsSupport
- TestCase
- Test
- Assert
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
-  new JUnit3Suite()
Type Members
Value Members
-   final  def !=(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-    def !==[T](right: Spread[T]): TripleEqualsInvocationOnSpread[T]- Definition Classes
- TripleEqualsSupport
 
-    def !==(right: Null): TripleEqualsInvocation[Null]- Definition Classes
- TripleEqualsSupport
 
-    def !==[T](right: T): TripleEqualsInvocation[T]- Definition Classes
- TripleEqualsSupport
 
-   final  def ##: Int- Definition Classes
- AnyRef → Any
 
-   final  def ==(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-    def ===[T](right: Spread[T]): TripleEqualsInvocationOnSpread[T]- Definition Classes
- TripleEqualsSupport
 
-    def ===(right: Null): TripleEqualsInvocation[Null]- Definition Classes
- TripleEqualsSupport
 
-    def ===[T](right: T): TripleEqualsInvocation[T]- Definition Classes
- TripleEqualsSupport
 
-   final  def asInstanceOf[T0]: T0- Definition Classes
- Any
 
-   macro  def assert(condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: Position): Assertion- Definition Classes
- VersionSpecificAssertionsForJUnit → Assertions
 
-   macro  def assert(condition: Boolean)(implicit prettifier: Prettifier, pos: Position): Assertion- Definition Classes
- VersionSpecificAssertionsForJUnit → Assertions
 
-   macro  def assertCompiles(code: String)(implicit pos: Position): Assertion- Definition Classes
- Assertions
 
-   macro  def assertDoesNotCompile(code: String)(implicit pos: Position): Assertion- Definition Classes
- Assertions
 
-    def assertResult(expected: Any)(actual: Any)(implicit prettifier: Prettifier, pos: Position): Assertion- Definition Classes
- Assertions
 
-    def assertResult(expected: Any, clue: Any)(actual: Any)(implicit prettifier: Prettifier, pos: Position): Assertion- Definition Classes
- Assertions
 
-    def assertThrows[T <: AnyRef](f: => Any)(implicit classTag: ClassTag[T], pos: Position): Assertion- Definition Classes
- Assertions
 
-   macro  def assertTypeError(code: String)(implicit pos: Position): Assertion- Definition Classes
- Assertions
 
-   macro  def assume(condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: Position): Assertion- Definition Classes
- VersionSpecificAssertionsForJUnit → Assertions
 
-   macro  def assume(condition: Boolean)(implicit prettifier: Prettifier, pos: Position): Assertion- Definition Classes
- VersionSpecificAssertionsForJUnit → Assertions
 
-    def cancel(cause: Throwable)(implicit pos: Position): Nothing- Definition Classes
- Assertions
 
-    def cancel(message: String, cause: Throwable)(implicit pos: Position): Nothing- Definition Classes
- Assertions
 
-    def cancel(message: String)(implicit pos: Position): Nothing- Definition Classes
- Assertions
 
-    def cancel()(implicit pos: Position): Nothing- Definition Classes
- Assertions
 
-    def clone(): AnyRef- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
 
-    def convertEquivalenceToAToBConstraint[A, B](equivalenceOfB: Equivalence[B])(implicit ev: <:<[A, B]): CanEqual[A, B]- Definition Classes
- TripleEquals → TripleEqualsSupport
 
-    def convertEquivalenceToBToAConstraint[A, B](equivalenceOfA: Equivalence[A])(implicit ev: <:<[B, A]): CanEqual[A, B]- Definition Classes
- TripleEquals → TripleEqualsSupport
 
-    def convertToCheckingEqualizer[T](left: T): CheckingEqualizer[T]- Definition Classes
- TripleEquals → TripleEqualsSupport
 
-   implicit  def convertToEqualizer[T](left: T): Equalizer[T]- Definition Classes
- TripleEquals → TripleEqualsSupport
 
-    def countTestCases(): Int- Definition Classes
- TestCase → Test
 
-    def createResult(): TestResult- Attributes
- protected[framework]
- Definition Classes
- TestCase
 
-    def defaultEquality[A]: Equality[A]- Definition Classes
- TripleEqualsSupport
 
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def execute(testName: String, configMap: ConfigMap, color: Boolean, durations: Boolean, shortstacks: Boolean, fullstacks: Boolean, stats: Boolean): Unit- Definition Classes
- Suite
 
-    def expectedTestCount(filter: Filter): IntReturns the number of tests expected to be run by JUnit when runis invoked on thisSuite.Returns the number of tests expected to be run by JUnit when runis invoked on thisSuite.If tagsToIncludein the passedFilteris defined, this class's implementation of this method returns 0. Else this class's implementation of this method returns the size of the set returned bytestNameson the current instance.- Definition Classes
- JUnit3Suite → Suite
 
-    def fail(cause: Throwable)(implicit pos: Position): Nothing- Definition Classes
- Assertions
 
-    def fail(message: String, cause: Throwable)(implicit pos: Position): Nothing- Definition Classes
- Assertions
 
-    def fail(message: String)(implicit pos: Position): Nothing- Definition Classes
- Assertions
 
-    def fail()(implicit pos: Position): Nothing- Definition Classes
- Assertions
 
-    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 getName(): String- Definition Classes
- TestCase
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-    def intercept[T <: AnyRef](f: => Any)(implicit classTag: ClassTag[T], pos: Position): T- Definition Classes
- Assertions
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-    def lowPriorityTypeCheckedConstraint[A, B](implicit equivalenceOfB: Equivalence[B], ev: <:<[A, B]): CanEqual[A, B]- Definition Classes
- TripleEquals → TripleEqualsSupport
 
-   final  def ne(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def nestedSuites: IndexedSeq[Suite]- Definition Classes
- Suite
 
-   final  def notify(): Unit- Definition Classes
- AnyRef
- Annotations
- @native()
 
-   final  def notifyAll(): Unit- Definition Classes
- AnyRef
- Annotations
- @native()
 
-    def pending: Assertion with PendingStatement- Definition Classes
- Assertions
 
-    def pendingUntilFixed(f: => Unit)(implicit pos: Position): Assertion with PendingStatement- Definition Classes
- Assertions
 
-    def rerunner: Option[String]- Definition Classes
- Suite
 
-    def run(testName: Option[String], args: Args): StatusOverrides to use JUnit 3 to run the test(s). Overrides to use JUnit 3 to run the test(s). - testName
- an optional name of one test to run. If - None, all relevant tests should be run. I.e.,- Noneacts like a wildcard that means run all relevant tests in this- Suite.
- args
- the - Argsfor this run
- returns
- a - Statusobject that indicates when all tests and nested suites started by this method have completed, and whether or not a failure occurred.
 - Definition Classes
- JUnit3Suite → Suite
 
-    def run(arg0: TestResult): Unit- Definition Classes
- TestCase → Test
 
-    def run(): TestResult- Definition Classes
- TestCase
 
-    def runBare(): Unit- Definition Classes
- TestCase
- Annotations
- @throws(classOf[java.lang.Throwable])
 
-   final  def runNestedSuites(args: Args): StatusThrows UnsupportedOperationException, because this method is unused by this class, given this class'srunmethod delegates to JUnit to run its tests.Throws UnsupportedOperationException, because this method is unused by this class, given this class'srunmethod delegates to JUnit to run its tests.The main purpose of this method implementation is to render a compiler error an attempt to mix in a trait that overrides runNestedSuites. Because this trait does not actually userunNestedSuites, the attempt to mix in behavior would very likely not work.- args
- the - Argsfor this run
 - Attributes
- protected
- Definition Classes
- JUnit3Suite → Suite
- Exceptions thrown
- UnsupportedOperationExceptionalways.
 
-   final  def runTest(testName: String, args: Args): StatusThrows UnsupportedOperationException, because this method is unused by this class, given this class'srunmethod delegates to JUnit to run its tests.Throws UnsupportedOperationException, because this method is unused by this class, given this class'srunmethod delegates to JUnit to run its tests.The main purpose of this method implementation is to render a compiler error an attempt to mix in a trait that overrides runTest. Because this trait does not actually userunTest, the attempt to mix in behavior would very likely not work.- testName
- the name of one test to run. 
- args
- the - Argsfor this run
 - Attributes
- protected
- Definition Classes
- JUnit3Suite → Suite
- Exceptions thrown
- UnsupportedOperationExceptionalways.
 
-    def runTest(): Unit- Attributes
- protected[framework]
- Definition Classes
- TestCase
- Annotations
- @throws(classOf[java.lang.Throwable])
 
-   final  def runTests(testName: Option[String], args: Args): StatusThrows UnsupportedOperationException, because this method is unused by this class, given this class'srunmethod delegates to JUnit to run its tests.Throws UnsupportedOperationException, because this method is unused by this class, given this class'srunmethod delegates to JUnit to run its tests.The main purpose of this method implementation is to render a compiler error an attempt to mix in a trait that overrides runTests. Because this trait does not actually userunTests, the attempt to mix in behavior would very likely not work.- testName
- an optional name of one test to run. If - None, all relevant tests should be run. I.e.,- Noneacts like a wildcard that means run all relevant tests in this- Suite.
- args
- the - Argsfor this run
 - Attributes
- protected
- Definition Classes
- JUnit3Suite → Suite
- Exceptions thrown
- UnsupportedOperationExceptionalways.
 
-    def setName(arg0: String): Unit- Definition Classes
- TestCase
 
-    def setUp(): Unit- Attributes
- protected[framework]
- Definition Classes
- TestCase
- Annotations
- @throws(classOf[java.lang.Exception])
 
-   final  val styleName: StringSuite style name. 
-   final  val succeed: Assertion- Definition Classes
- Assertions
 
-    def suiteId: String- Definition Classes
- Suite
 
-    def suiteName: String- Definition Classes
- Suite
 
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-    def tags: Map[String, Nothing]Returns an empty Map, because tags are not supported by JUnit 3.Returns an empty Map, because tags are not supported by JUnit 3.- Definition Classes
- JUnit3Suite → Suite
 
-    def tearDown(): Unit- Attributes
- protected[framework]
- Definition Classes
- TestCase
- Annotations
- @throws(classOf[java.lang.Exception])
 
-   final  def testDataFor(testName: String, theConfigMap: ConfigMap = ConfigMap.empty): TestData- Definition Classes
- JUnit3Suite → Suite
 
-    def testNames: Set[String]Returns the set of test names that will be executed by JUnit when runis invoked on an instance of this class, or the instance is passed directly to JUnit for running.Returns the set of test names that will be executed by JUnit when runis invoked on an instance of this class, or the instance is passed directly to JUnit for running.The iterator obtained by invoking elementson this returnedSetwill produce the test names in their natural order, as determined byString'scompareTomethod. Nevertheless, this method is not consulted by JUnit when it runs the tests, and JUnit may run the tests in any order.- Definition Classes
- JUnit3Suite → Suite
 
-    def toExceptionFunction(message: Option[String]): (StackDepthException) => Option[String]If message or message contents are null, throw a null exception, otherwise create a function that returns the option. If message or message contents are null, throw a null exception, otherwise create a function that returns the option. - Definition Classes
- AssertionsForJUnit
 
-    def toString(): String- Definition Classes
- TestCase → AnyRef → Any
 
-    def typeCheckedConstraint[A, B](implicit equivalenceOfA: Equivalence[A], ev: <:<[B, A]): CanEqual[A, B]- Definition Classes
- TripleEquals → TripleEqualsSupport
 
-   implicit  def unconstrainedEquality[A, B](implicit equalityOfA: Equality[A]): CanEqual[A, B]- Definition Classes
- TripleEquals → TripleEqualsSupport
 
-   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()
 
-    def withClue[T](clue: Any)(fun: => T): T- Definition Classes
- Assertions
 
Deprecated Value Members
-    def conversionCheckedConstraint[A, B](implicit equivalenceOfA: Equivalence[A], cnv: (B) => A): CanEqual[A, B]- Definition Classes
- TripleEquals → TripleEqualsSupport
- Annotations
- @deprecated
- Deprecated
- (Since version 3.1.0) The conversionCheckedConstraint method has been deprecated and will be removed in a future version of ScalaTest. It is no longer needed now that the deprecation period of ConversionCheckedTripleEquals has expired. It will not be replaced. 
 
-    def convertEquivalenceToAToBConversionConstraint[A, B](equivalenceOfB: Equivalence[B])(implicit ev: (A) => B): CanEqual[A, B]- Definition Classes
- TripleEquals → TripleEqualsSupport
- Annotations
- @deprecated
- Deprecated
- (Since version 3.1.0) The convertEquivalenceToAToBConversionConstraint method has been deprecated and will be removed in a future version of ScalaTest. It is no longer needed now that the deprecation period of ConversionCheckedTripleEquals has expired. It will not be replaced. 
 
-    def convertEquivalenceToBToAConversionConstraint[A, B](equivalenceOfA: Equivalence[A])(implicit ev: (B) => A): CanEqual[A, B]- Definition Classes
- TripleEquals → TripleEqualsSupport
- Annotations
- @deprecated
- Deprecated
- (Since version 3.1.0) The convertEquivalenceToBToAConversionConstraint method has been deprecated and will be removed in a future version of ScalaTest. It is no longer needed now that the deprecation period of ConversionCheckedTripleEquals has expired. It will not be replaced. 
 
-    def lowPriorityConversionCheckedConstraint[A, B](implicit equivalenceOfB: Equivalence[B], cnv: (A) => B): CanEqual[A, B]- Definition Classes
- TripleEquals → TripleEqualsSupport
- Annotations
- @deprecated
- Deprecated
- (Since version 3.1.0) The lowPriorityConversionCheckedConstraint method has been deprecated and will be removed in a future version of ScalaTest. It is no longer needed now that the deprecation period of ConversionCheckedTripleEquals has expired. It will not be replaced.