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.

Figure B-6. The abstract class TestCase


 public abstract class TestCase extends Assert implements Test 


TestCase(String name)

A constructor that sets the name. As described above, this name may specify the test method to run.

TestCase( )

A constructor with no arguments for use in serialization. Should not be used otherwise since it sets the name to null .

Public Methods

int countTestCases( )

Returns the number of test cases run by this TestCase .

String getName( )

Gets the name of this TestCase .

TestResult run( )

Runs this TestCase and returns a new TestResult containing the results. This is a convenience method not normally used by the test framework.

void run(TestResult result)

Runs this TestCase and collects the results in TestResult .

void runBare( ) throws Throwable

Runs the test fixture sequence: setUp( ) , runTest( ) , and tearDown( ) .

void setName(String name)

Sets the name of this TestCase .

String toString( )

Returns a string representation of the test case.

Protected/Private Methods

protected void runTest( ) throws Throwable

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.

protected void setUp( ) throws Exception

Sets up the test fixture by initializing any objects shared by test methods.

protected void tearDown( ) throws Exception

Tears down the fixture by cleaning up any shared objects.

protected TestResult createResult( )

Creates an empty TestResult to collect results. Used by run( ) .


private String fName

Provides the name of this TestCase .

Unit Test Frameworks
Unit Test Frameworks
ISBN: 0596006896
EAN: 2147483647
Year: 2006
Pages: 146
Authors: Paul Hamill

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net