All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class test.framework.TestCase

java.lang.Object
   |
   +----test.framework.TestCase

public abstract class TestCase
extends Object
implements Test
A test case defines the fixture to run multiple tests. To define a test case
1) implement a subclass of TestCase
2) define instance variables that store the state of the fixture
3) initialize the fixture state by overriding setUp
4) clean-up after a test by overriding tearDown.
Each test runs in its own fixture so there can be no side effects among test runs. Here is an example:
 public class MathTest extends TestCase {
     protected double fValue1;
     protected double fValue2;
     public MathTest(String name) {
         super(name);
     }
    protected void setUp() {
         fValue1= 2.0;
         fValue2= 3.0;
     }
 }
 
For each test implement a method which interacts with the fixture. Verify the expected results with assertions specified by calling assert with a boolean.
    protected void testAdd() {
        double result= fValue1 + fValue2;
        assert(result == 5.0);
    }
 
Once the methods are defined you can run them. The framework supports both a static type safe and more dynamic way to run a test. In the static way you override the runTest method and define the method to be invoked. A convenient way to do so is with an anonymous inner class.
 Test test= new MathTest("add") {
        public void runTest() {
            testAdd();
        }
 };
 test.run();
 
The dynamic way uses reflection to implement runTest. It dynamically finds and invokes a method. In this case the name of the test case has to correspond to the test method to be run.
 Test= new MathTest("testAdd");
 test.run();
 
The tests to be run can be collected into a TestSuite. JUnit provides different test runners which can run a test suite and collect the results. The test runners expect a static method suite as the entry point to get a test to run.
 public static Test suite() {
      suite.addTest(new MathTest("testAdd"));
      suite.addTest(new MathTest("testDivideByZero"));
      return suite;
  }
 

See Also:
TestResult, TestSuite

Constructor Index

 o TestCase(String)
Constructs a test case with the given name.

Method Index

 o assert(boolean)
Asserts that a condition is true.
 o assert(String, boolean)
Asserts that a condition is true.
 o assertEquals(double, double, double)
Asserts that two doubles are equal.
 o assertEquals(long, long)
Asserts that two longs are equal.
 o assertEquals(Object, Object)
Asserts that two objects are equal.
 o assertEquals(String, double, double, double)
Asserts that two doubles are equal.
 o assertEquals(String, long, long)
Asserts that two longs are equal.
 o assertEquals(String, Object, Object)
Asserts that two objects are equal.
 o countTestCases()
Counts the number of test cases executed by run(TestResult result).
 o defaultResult()
Returns a default TestResult object
 o name()
Gets the name of the test case.
 o notEqualsMessage(String, Object, Object)
 o run()
A convenience method to run this test, collecting the results with a default TestResult object.
 o run(TestResult)
Runs the test case and collects the results in TestResult.
 o runTest()
Override to run the test and assert its state.
 o setUp()
Sets up the fixture, for example, open a network connection.
 o tearDown()
Tears down the fixture, for example, close a network connection.
 o toString()
Returns a string representation of the test case

Constructors

 o TestCase
 public TestCase(String name)
Constructs a test case with the given name.

Methods

 o assert
 protected void assert(boolean condition)
Asserts that a condition is true. If it isn't it throws an AssertionFailedError.

 o assert
 protected void assert(String message,
                       boolean condition)
Asserts that a condition is true. If it isn't it throws an AssertionFailedError with the given message.

 o assertEquals
 protected void assertEquals(Object expected,
                             Object actual)
Asserts that two objects are equal. If they are not an AssertionFailedError is thrown.

Parameters:
expected - the expected value of an object
actual - the actual value of an object
 o assertEquals
 protected void assertEquals(long expected,
                             long actual)
Asserts that two longs are equal.

Parameters:
expected - the expected value of an object
actual - the actual value of an object
 o assertEquals
 protected void assertEquals(double expected,
                             double actual,
                             double delta)
Asserts that two doubles are equal.

Parameters:
expected - the expected value of an object
actual - the actual value of an object
delta - tolerated delta
 o assertEquals
 protected void assertEquals(String message,
                             Object expected,
                             Object actual)
Asserts that two objects are equal. If they are not an AssertionFailedError is thrown.

Parameters:
message - the detail message for this assertion
expected - the expected value of an object
actual - the actual value of an object
 o assertEquals
 protected void assertEquals(String message,
                             long expected,
                             long actual)
Asserts that two longs are equal.

Parameters:
message - the detail message for this assertion
expected - the expected value of an object
actual - the actual value of an object
 o assertEquals
 protected void assertEquals(String message,
                             double expected,
                             double actual,
                             double delta)
Asserts that two doubles are equal.

Parameters:
message - the detail message for this assertion
expected - the expected value of an object
actual - the actual value of an object
delta - tolerated delta
 o notEqualsMessage
 protected String notEqualsMessage(String message,
                                   Object expected,
                                   Object actual)
 o run
 public void run(TestResult result)
Runs the test case and collects the results in TestResult. This is the template method that defines the control flow for running a test case.

 o countTestCases
 public int countTestCases()
Counts the number of test cases executed by run(TestResult result).

 o runTest
 protected void runTest() throws Throwable
Override to run the test and assert its state.

Throws: Throwable
if any exception is thrown
 o setUp
 protected void setUp()
Sets up the fixture, for example, open a network connection. This method is called before a test is executed.

 o tearDown
 protected void tearDown()
Tears down the fixture, for example, close a network connection. This method is called after a test is executed.

 o name
 public String name()
Gets the name of the test case.

 o run
 public TestResult run()
A convenience method to run this test, collecting the results with a default TestResult object.

See Also:
TestResult
 o defaultResult
 protected TestResult defaultResult()
Returns a default TestResult object

See Also:
TestResult
 o toString
 public String toString()
Returns a string representation of the test case

Overrides:
toString in class Object

All Packages  Class Hierarchy  This Package  Previous  Next  Index