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
 
- Alphabetic
 - By Inheritance
 
- JUnit3Suite
 - AssertionsForJUnit
 - VersionSpecificAssertionsForJUnit
 - Suite
 - Serializable
 - Serializable
 - Assertions
 - TripleEquals
 - TripleEqualsSupport
 - TestCase
 - Test
 - Assert
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
- Public
 - All
 
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( ... ) @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: Any): 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): Int
      
      
      
Returns 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[_]
      
      
      
- 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): Status
      
      
      
Overrides 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 thisSuite.- 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): Status
      
      
      
Throws
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): Status
      
      
      
Throws
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): Status
      
      
      
Throws
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 thisSuite.- 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: String
      
      
      
Suite 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( ... )
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... )
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... ) @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.