Flylib.com

Books Software

 
 
 

AssertionFailedError

   
AssertionFailedError

Description

AssertionFailedError (see Figure B-2) is a class representing an assertion failure. Aside from being a distinct subclass, it is otherwise identical to Error . Thus, it is Throwable and contains a stack trace.

The assert methods in Assert throw an AssertionFailedError (or a subclass of it) when an assertion fails. The AssertionFailedError conveniently captures the stack trace of the code location from which it was thrown, making it easy to find the assertion that failed.

Figure B-2. The class AssertionFailedError
figs/utf_ab02.gif

Declaration

public class AssertionFailedError

extends java.lang.Error

Constructors


public AssertionFailedError( )

public AssertionFailedError(String message)

The constructors for AssertionFailedError .

Public Methods

None.

Protected/Private Methods

None.

Attributes

None.

   
ComparisonFailure

Description

ComparisonFailure (see Figure B-3) is a specialized subclass of AssertionFailedError . It is thrown only by the versions of assertEquals( ) that compare String s.

Figure B-3. The class ComparisonFailure
figs/utf_ab03.gif

Declaration

public class ComparisonFailure

extends AssertionFailedError

Constructors


ComparisonFailure(String message, String expected, String actual)

The constructor for ComparisonFailure .

Public Methods


String getMessage( )

Returns the failure description message. The redundant parts of the compared String s are replaced with " .. ." so that only the parts that differ are reported .

Protected/Private Methods

None.

Attributes


private String fActual

private String fExpected

The private attributes containing copies of the strings being compared.

   
Protectable

Description

Protectable (see Figure B-4) is an interface used by TestResult to run test methods in a Throwable context.

Figure B-4. The interface Protectable
figs/utf_ab04.gif

Declaration

public interface Protectable

Constructors

None (it's an interface).

Public Methods


public abstract void protect( ) throws Throwable

A class implementing Protectable has a public method named protect( ) that can throw a Throwable .

Protected/Private Methods

None.

Attributes

None.

   
Test

Description

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.

Figure B-5. The interface Test
figs/utf_ab05.gif

Declaration

public interface Test

Constructors

None (it's an interface).

Public Methods


public abstract int countTestCases( )

Returns the number of test cases run by this Test .


public abstract void run(TestResult result)

Runs the Test and collect its results in a TestResult .

Protected/Private Methods

None.

Attributes

None.

   
TestCase

Description

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
figs/utf_ab06.gif

Declaration

public abstract class TestCase

extends Assert



implements Test

Constructors


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( ) .

Attributes


private String fName

Provides the name of this TestCase .