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
- 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
- AssertionsForJUnit → Assertions
-
macro
def
assert(condition: Boolean)(implicit prettifier: Prettifier, pos: Position): Assertion
- Definition Classes
- AssertionsForJUnit → 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
- AssertionsForJUnit → Assertions
-
macro
def
assume(condition: Boolean)(implicit prettifier: Prettifier, pos: Position): Assertion
- Definition Classes
- AssertionsForJUnit → 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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
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[junit.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
run
is invoked on thisSuite
.Returns the number of tests expected to be run by JUnit when
run
is invoked on thisSuite
.If
tagsToInclude
in the passedFilter
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 bytestNames
on 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[java.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.,None
acts like a wildcard that means run all relevant tests in thisSuite
.- 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
-
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'srun
method delegates to JUnit to run its tests.Throws
UnsupportedOperationException
, because this method is unused by this class, given this class'srun
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 userunNestedSuites
, 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.
-
final
def
runTest(testName: String, args: Args): Status
Throws
UnsupportedOperationException
, because this method is unused by this class, given this class'srun
method delegates to JUnit to run its tests.Throws
UnsupportedOperationException
, because this method is unused by this class, given this class'srun
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 userunTest
, 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.
-
def
runTest(): Unit
- Attributes
- protected[junit.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'srun
method delegates to JUnit to run its tests.Throws
UnsupportedOperationException
, because this method is unused by this class, given this class'srun
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 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.,None
acts like a wildcard that means run all relevant tests in thisSuite
.- args
the
Args
for this run
- Attributes
- protected
- Definition Classes
- JUnit3Suite → Suite
- Exceptions thrown
UnsupportedOperationException
always.
-
def
setName(arg0: String): Unit
- Definition Classes
- TestCase
-
def
setUp(): Unit
- Attributes
- protected[junit.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[junit.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
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 returnedSet
will produce the test names in their natural order, as determined byString
'scompareTo
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
-
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
- @native() @throws( ... )
-
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.