| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
  |
  +--junit.framework.Assert
        |
        +--junit.framework.TestCase
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;
    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 assertTrue with a boolean.
 
    public void testAdd() {
        double result= fValue1 + fValue2;
        assertTrue(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.
 
 TestCase 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.
 
 TestCase= 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.
 A test runner either expects a static method suite as the entry
 point to get a test to run or it will extract the suite automatically.
 
 public static Test suite() {
      suite.addTest(new MathTest("testAdd"));
      suite.addTest(new MathTest("testDivideByZero"));
      return suite;
  }
 
TestResult, 
TestSuite| Constructor Summary | |
| TestCase()No-arg constructor to enable serialization. | |
| TestCase(java.lang.String name)Constructs a test case with the given name. | |
| Method Summary | |
|  int | countTestCases()Counts the number of test cases executed by run(TestResult result). | 
| protected  TestResult | createResult()Creates a default TestResult object | 
|  java.lang.String | getName()Gets the name of a TestCase | 
|  TestResult | run()A convenience method to run this test, collecting the results with a default TestResult object. | 
|  void | run(TestResult result)Runs the test case and collects the results in TestResult. | 
|  void | runBare()Runs the bare test sequence. | 
| protected  void | runTest()Override to run the test and assert its state. | 
|  void | setName(java.lang.String name)Sets the name of a TestCase | 
| protected  void | setUp()Sets up the fixture, for example, open a network connection. | 
| protected  void | tearDown()Tears down the fixture, for example, close a network connection. | 
|  java.lang.String | toString()Returns a string representation of the test case | 
| Methods inherited from class junit.framework.Assert | 
| assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail | 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Constructor Detail | 
public TestCase()
public TestCase(java.lang.String name)
| Method Detail | 
public int countTestCases()
countTestCases in interface Testprotected TestResult createResult()
TestResultpublic TestResult run()
TestResultpublic void run(TestResult result)
run in interface Test
public void runBare()
             throws java.lang.Throwable
java.lang.Throwable - if any exception is thrown
protected void runTest()
                throws java.lang.Throwable
java.lang.Throwable - if any exception is thrown
protected void setUp()
              throws java.lang.Exception
java.lang.Exception
protected void tearDown()
                 throws java.lang.Exception
java.lang.Exceptionpublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String getName()
public void setName(java.lang.String name)
name - The name to set| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||