Class

org.scalatestplus.junit

JUnit3Suite

Related Doc: package junit

Permalink

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
Linear Supertypes
AssertionsForJUnit, VersionSpecificAssertionsForJUnit, Suite, Serializable, Serializable, Assertions, TripleEquals, TripleEqualsSupport, TestCase, Test, Assert, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JUnit3Suite
  2. AssertionsForJUnit
  3. VersionSpecificAssertionsForJUnit
  4. Suite
  5. Serializable
  6. Serializable
  7. Assertions
  8. TripleEquals
  9. TripleEqualsSupport
  10. TestCase
  11. Test
  12. Assert
  13. AnyRef
  14. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JUnit3Suite()

    Permalink

Type Members

  1. class CheckingEqualizer[L] extends AnyRef

    Permalink
    Definition Classes
    TripleEqualsSupport
  2. class Equalizer[L] extends AnyRef

    Permalink
    Definition Classes
    TripleEqualsSupport

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. def !==[T](right: Spread[T]): TripleEqualsInvocationOnSpread[T]

    Permalink
    Definition Classes
    TripleEqualsSupport
  3. def !==(right: Null): TripleEqualsInvocation[Null]

    Permalink
    Definition Classes
    TripleEqualsSupport
  4. def !==[T](right: T): TripleEqualsInvocation[T]

    Permalink
    Definition Classes
    TripleEqualsSupport
  5. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  6. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  7. def ===[T](right: Spread[T]): TripleEqualsInvocationOnSpread[T]

    Permalink
    Definition Classes
    TripleEqualsSupport
  8. def ===(right: Null): TripleEqualsInvocation[Null]

    Permalink
    Definition Classes
    TripleEqualsSupport
  9. def ===[T](right: T): TripleEqualsInvocation[T]

    Permalink
    Definition Classes
    TripleEqualsSupport
  10. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  11. macro def assert(condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: Position): Assertion

    Permalink
    Definition Classes
    VersionSpecificAssertionsForJUnit → Assertions
  12. macro def assert(condition: Boolean)(implicit prettifier: Prettifier, pos: Position): Assertion

    Permalink
    Definition Classes
    VersionSpecificAssertionsForJUnit → Assertions
  13. macro def assertCompiles(code: String)(implicit pos: Position): Assertion

    Permalink
    Definition Classes
    Assertions
  14. macro def assertDoesNotCompile(code: String)(implicit pos: Position): Assertion

    Permalink
    Definition Classes
    Assertions
  15. def assertResult(expected: Any)(actual: Any)(implicit prettifier: Prettifier, pos: Position): Assertion

    Permalink
    Definition Classes
    Assertions
  16. def assertResult(expected: Any, clue: Any)(actual: Any)(implicit prettifier: Prettifier, pos: Position): Assertion

    Permalink
    Definition Classes
    Assertions
  17. def assertThrows[T <: AnyRef](f: ⇒ Any)(implicit classTag: ClassTag[T], pos: Position): Assertion

    Permalink
    Definition Classes
    Assertions
  18. macro def assertTypeError(code: String)(implicit pos: Position): Assertion

    Permalink
    Definition Classes
    Assertions
  19. macro def assume(condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: Position): Assertion

    Permalink
    Definition Classes
    VersionSpecificAssertionsForJUnit → Assertions
  20. macro def assume(condition: Boolean)(implicit prettifier: Prettifier, pos: Position): Assertion

    Permalink
    Definition Classes
    VersionSpecificAssertionsForJUnit → Assertions
  21. def cancel(cause: Throwable)(implicit pos: Position): Nothing

    Permalink
    Definition Classes
    Assertions
  22. def cancel(message: String, cause: Throwable)(implicit pos: Position): Nothing

    Permalink
    Definition Classes
    Assertions
  23. def cancel(message: String)(implicit pos: Position): Nothing

    Permalink
    Definition Classes
    Assertions
  24. def cancel()(implicit pos: Position): Nothing

    Permalink
    Definition Classes
    Assertions
  25. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. def convertEquivalenceToAToBConstraint[A, B](equivalenceOfB: Equivalence[B])(implicit ev: <:<[A, B]): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  27. def convertEquivalenceToBToAConstraint[A, B](equivalenceOfA: Equivalence[A])(implicit ev: <:<[B, A]): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  28. def convertToCheckingEqualizer[T](left: T): CheckingEqualizer[T]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  29. implicit def convertToEqualizer[T](left: T): Equalizer[T]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  30. def countTestCases(): Int

    Permalink
    Definition Classes
    TestCase → Test
  31. def createResult(): TestResult

    Permalink
    Attributes
    protected[junit.framework]
    Definition Classes
    TestCase
  32. def defaultEquality[A]: Equality[A]

    Permalink
    Definition Classes
    TripleEqualsSupport
  33. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  34. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  35. final def execute(testName: String, configMap: ConfigMap, color: Boolean, durations: Boolean, shortstacks: Boolean, fullstacks: Boolean, stats: Boolean): Unit

    Permalink
    Definition Classes
    Suite
  36. def expectedTestCount(filter: Filter): Int

    Permalink

    Returns the number of tests expected to be run by JUnit when run is invoked on this Suite.

    Returns the number of tests expected to be run by JUnit when run is invoked on this Suite.

    If tagsToInclude in the passed Filter is 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 by testNames on the current instance.

    Definition Classes
    JUnit3Suite → Suite
  37. def fail(cause: Throwable)(implicit pos: Position): Nothing

    Permalink
    Definition Classes
    Assertions
  38. def fail(message: String, cause: Throwable)(implicit pos: Position): Nothing

    Permalink
    Definition Classes
    Assertions
  39. def fail(message: String)(implicit pos: Position): Nothing

    Permalink
    Definition Classes
    Assertions
  40. def fail()(implicit pos: Position): Nothing

    Permalink
    Definition Classes
    Assertions
  41. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  42. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  43. def getName(): String

    Permalink
    Definition Classes
    TestCase
  44. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  45. def intercept[T <: AnyRef](f: ⇒ Any)(implicit classTag: ClassTag[T], pos: Position): T

    Permalink
    Definition Classes
    Assertions
  46. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  47. def lowPriorityTypeCheckedConstraint[A, B](implicit equivalenceOfB: Equivalence[B], ev: <:<[A, B]): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  48. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  49. def nestedSuites: IndexedSeq[Suite]

    Permalink
    Definition Classes
    Suite
  50. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  51. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  52. def pending: Assertion with PendingStatement

    Permalink
    Definition Classes
    Assertions
  53. def pendingUntilFixed(f: ⇒ Unit)(implicit pos: Position): Assertion with PendingStatement

    Permalink
    Definition Classes
    Assertions
  54. def rerunner: Option[String]

    Permalink
    Definition Classes
    Suite
  55. def run(testName: Option[String], args: Args): Status

    Permalink

    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., None acts like a wildcard that means run all relevant tests in this Suite.

    args

    the Args for this run

    returns

    a Status object 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
  56. def run(arg0: TestResult): Unit

    Permalink
    Definition Classes
    TestCase → Test
  57. def run(): TestResult

    Permalink
    Definition Classes
    TestCase
  58. def runBare(): Unit

    Permalink
    Definition Classes
    TestCase
    Annotations
    @throws( classOf[java.lang.Throwable] )
  59. final def runNestedSuites(args: Args): Status

    Permalink

    Throws UnsupportedOperationException, because this method is unused by this class, given this class's run method delegates to JUnit to run its tests.

    Throws UnsupportedOperationException, because this method is unused by this class, given this class's run method 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 use runNestedSuites, the attempt to mix in behavior would very likely not work.

    args

    the Args for this run

    Attributes
    protected
    Definition Classes
    JUnit3Suite → Suite
    Exceptions thrown

    UnsupportedOperationException always.

  60. final def runTest(testName: String, args: Args): Status

    Permalink

    Throws UnsupportedOperationException, because this method is unused by this class, given this class's run method delegates to JUnit to run its tests.

    Throws UnsupportedOperationException, because this method is unused by this class, given this class's run method 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 use runTest, the attempt to mix in behavior would very likely not work.

    testName

    the name of one test to run.

    args

    the Args for this run

    Attributes
    protected
    Definition Classes
    JUnit3Suite → Suite
    Exceptions thrown

    UnsupportedOperationException always.

  61. def runTest(): Unit

    Permalink
    Attributes
    protected[junit.framework]
    Definition Classes
    TestCase
    Annotations
    @throws( classOf[java.lang.Throwable] )
  62. final def runTests(testName: Option[String], args: Args): Status

    Permalink

    Throws UnsupportedOperationException, because this method is unused by this class, given this class's run method delegates to JUnit to run its tests.

    Throws UnsupportedOperationException, because this method is unused by this class, given this class's run method 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 use runTests, 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., None acts like a wildcard that means run all relevant tests in this Suite.

    args

    the Args for this run

    Attributes
    protected
    Definition Classes
    JUnit3Suite → Suite
    Exceptions thrown

    UnsupportedOperationException always.

  63. def setName(arg0: String): Unit

    Permalink
    Definition Classes
    TestCase
  64. def setUp(): Unit

    Permalink
    Attributes
    protected[junit.framework]
    Definition Classes
    TestCase
    Annotations
    @throws( classOf[java.lang.Exception] )
  65. final val styleName: String

    Permalink

    Suite style name.

    Suite style name.

    returns

    JUnit3Suite

    Definition Classes
    JUnit3Suite → Suite
  66. final val succeed: Assertion

    Permalink
    Definition Classes
    Assertions
  67. def suiteId: String

    Permalink
    Definition Classes
    Suite
  68. def suiteName: String

    Permalink
    Definition Classes
    Suite
  69. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  70. def tags: Map[String, Nothing]

    Permalink

    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
  71. def tearDown(): Unit

    Permalink
    Attributes
    protected[junit.framework]
    Definition Classes
    TestCase
    Annotations
    @throws( classOf[java.lang.Exception] )
  72. final def testDataFor(testName: String, theConfigMap: ConfigMap = ConfigMap.empty): TestData

    Permalink
    Definition Classes
    JUnit3Suite → Suite
  73. def testNames: Set[String]

    Permalink

    Returns the set of test names that will be executed by JUnit when run is 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 run is invoked on an instance of this class, or the instance is passed directly to JUnit for running.

    The iterator obtained by invoking elements on this returned Set will produce the test names in their natural order, as determined by String's compareTo method. 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
  74. def toExceptionFunction(message: Option[String]): (StackDepthException) ⇒ Option[String]

    Permalink

    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
  75. def toString(): String

    Permalink
    Definition Classes
    TestCase → AnyRef → Any
  76. def typeCheckedConstraint[A, B](implicit equivalenceOfA: Equivalence[A], ev: <:<[B, A]): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  77. implicit def unconstrainedEquality[A, B](implicit equalityOfA: Equality[A]): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  78. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  79. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  80. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  81. def withClue[T](clue: Any)(fun: ⇒ T): T

    Permalink
    Definition Classes
    Assertions

Deprecated Value Members

  1. def conversionCheckedConstraint[A, B](implicit equivalenceOfA: Equivalence[A], cnv: (B) ⇒ A): CanEqual[A, B]

    Permalink
    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.

  2. def convertEquivalenceToAToBConversionConstraint[A, B](equivalenceOfB: Equivalence[B])(implicit ev: (A) ⇒ B): CanEqual[A, B]

    Permalink
    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.

  3. def convertEquivalenceToBToAConversionConstraint[A, B](equivalenceOfA: Equivalence[A])(implicit ev: (B) ⇒ A): CanEqual[A, B]

    Permalink
    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.

  4. def lowPriorityConversionCheckedConstraint[A, B](implicit equivalenceOfB: Equivalence[B], cnv: (A) ⇒ B): CanEqual[A, B]

    Permalink
    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.

Inherited from AssertionsForJUnit

Inherited from Suite

Inherited from Serializable

Inherited from Serializable

Inherited from Assertions

Inherited from TripleEquals

Inherited from TripleEqualsSupport

Inherited from TestCase

Inherited from Test

Inherited from Assert

Inherited from AnyRef

Inherited from Any

Ungrouped