(see Figure B-2) is a class representing an assertion failure. Aside from being a distinct subclass, it is
public class AssertionFailedError extends java.lang.Error
The constructors for AssertionFailedError .
ComparisonFailure (see Figure B-3) is a specialized subclass of AssertionFailedError . It is thrown only by the versions of assertEquals( ) that compare String s.
public class ComparisonFailure extends AssertionFailedError
The constructor for ComparisonFailure .
Returns the failure description message. The redundant
The private attributes containing copies of the strings being compared.
(see Figure B-4) is an interface used by
to run test
public interface Protectable
None (it's an interface).
A class implementing Protectable has a public method named protect( ) that can throw a Throwable .
Test (see Figure B-5) is an interface implemented by TestCase and TestSuite . A Test can be run and its results collected in a TestResult . It is an important abstraction, since both individual unit tests and sets of tests are run via the Test interface.
public interface Test
None (it's an interface).
Returns the number of test cases run by this Test .
Runs the Test and collect its results in a TestResult .
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
can be created with a name corresponding to the
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
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 .