TestCase (see Figure B-6) is an abstract class that acts as a parent for unit test classes. A TestCase may contain a single test method or be a test fixture containing multiple tests.
A TestCase may be run directly by calling run( ) . More commonly, a TestRunner runs a TestCase by calling run(TestResult) , passing in a TestResult object to collect the results.
The method runTest( ) can be overridden by subclasses of TestCase to implement a test class with a single test method.
Alternatively, an instance of TestCase can be created with a name corresponding to the name of a test method. The default implementation of runTest( ) uses reflection to invoke the named test method. This allows a TestCase to have multiple test methods . The following code snippet runs the test method BookTest.testBookTitle( ) :
TestCase test = new BookTest( "testBookTitle" ); TestResult result = test.run( );
Whichever way the test methods are run, TestCase ensures test isolation by running setUp( ) prior to the test method and tearDown( ) afterwards.
public abstract class TestCase extends Assert implements Test
A constructor that sets the name. As described above, this name may specify the test method to run.
A constructor with no arguments for use in serialization. Should not be used otherwise since it sets the name to null .
Returns the number of test cases run by this TestCase .
Gets the name of this TestCase .
Runs this TestCase and returns a new TestResult containing the results. This is a convenience method not normally used by the test framework.
Runs this TestCase and collects the results in TestResult .
Runs the test fixture sequence: setUp( ) , runTest( ) , and tearDown( ) .
Sets the name of this TestCase .
Returns a string representation of the test case.
Runs the unit test and asserts its state using the assert methods from Assert . This method is overridden by subclasses of TestCase , unless reflection is used to run test methods.
Sets up the test fixture by initializing any objects shared by test methods.
Tears down the fixture by cleaning up any shared objects.
Creates an empty TestResult to collect results. Used by run( ) .
Provides the name of this TestCase .