Class TestCase

java.lang.Object
junit.framework.Assert
junit.framework.TestCase
All Implemented Interfaces:
Test

public abstract class TestCase extends Assert 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;

    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.assertTrue(String, boolean) 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 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. 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;
 }
 
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private String
    the name of the test case
  • Constructor Summary

    Constructors
    Constructor
    Description
    No-arg constructor to enable serialization.
    Constructs a test case with the given name.
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    assertEquals(boolean expected, boolean actual)
    Asserts that two booleans are equal.
    static void
    assertEquals(byte expected, byte actual)
    Asserts that two bytes are equal.
    static void
    assertEquals(char expected, char actual)
    Asserts that two chars are equal.
    static void
    assertEquals(double expected, double actual, double delta)
    Asserts that two doubles are equal concerning a delta.
    static void
    assertEquals(float expected, float actual, float delta)
    Asserts that two floats are equal concerning a delta.
    static void
    assertEquals(int expected, int actual)
    Asserts that two ints are equal.
    static void
    assertEquals(long expected, long actual)
    Asserts that two longs are equal.
    static void
    assertEquals(short expected, short actual)
    Asserts that two shorts are equal.
    static void
    assertEquals(Object expected, Object actual)
    Asserts that two objects are equal.
    static void
    assertEquals(String message, boolean expected, boolean actual)
    Asserts that two booleans are equal.
    static void
    assertEquals(String message, byte expected, byte actual)
    Asserts that two bytes are equal.
    static void
    assertEquals(String message, char expected, char actual)
    Asserts that two chars are equal.
    static void
    assertEquals(String message, double expected, double actual, double delta)
    Asserts that two doubles are equal concerning a delta.
    static void
    assertEquals(String message, float expected, float actual, float delta)
    Asserts that two floats are equal concerning a positive delta.
    static void
    assertEquals(String message, int expected, int actual)
    Asserts that two ints are equal.
    static void
    assertEquals(String message, long expected, long actual)
    Asserts that two longs are equal.
    static void
    assertEquals(String message, short expected, short actual)
    Asserts that two shorts are equal.
    static void
    assertEquals(String message, Object expected, Object actual)
    Asserts that two objects are equal.
    static void
    assertEquals(String expected, String actual)
    Asserts that two Strings are equal.
    static void
    assertEquals(String message, String expected, String actual)
    Asserts that two Strings are equal.
    static void
    assertFalse(boolean condition)
    Asserts that a condition is false.
    static void
    assertFalse(String message, boolean condition)
    Asserts that a condition is false.
    static void
    Asserts that an object isn't null.
    static void
    assertNotNull(String message, Object object)
    Asserts that an object isn't null.
    static void
    assertNotSame(Object expected, Object actual)
    Asserts that two objects do not refer to the same object.
    static void
    assertNotSame(String message, Object expected, Object actual)
    Asserts that two objects do not refer to the same object.
    static void
    Asserts that an object is null.
    static void
    assertNull(String message, Object object)
    Asserts that an object is null.
    static void
    assertSame(Object expected, Object actual)
    Asserts that two objects refer to the same object.
    static void
    assertSame(String message, Object expected, Object actual)
    Asserts that two objects refer to the same object.
    static void
    assertTrue(boolean condition)
    Asserts that a condition is true.
    static void
    assertTrue(String message, boolean condition)
    Asserts that a condition is true.
    int
    Counts the number of test cases executed by run(TestResult result).
    protected TestResult
    Creates a default TestResult object.
    static void
    Fails a test with no message.
    static void
    fail(String message)
    Fails a test with the given message.
    static void
    failNotEquals(String message, Object expected, Object actual)
     
    static void
    failNotSame(String message, Object expected, Object actual)
     
    static void
    failSame(String message)
     
    static String
    format(String message, Object expected, Object actual)
     
    Gets the name of a TestCase.
    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
    Runs the bare test sequence.
    protected void
    Override to run the test and assert its state.
    void
    Sets the name of a TestCase.
    protected void
    Sets up the fixture, for example, open a network connection.
    protected void
    Tears down the fixture, for example, close a network connection.
    Returns a string representation of the test case.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • fName

      private String fName
      the name of the test case
  • Constructor Details

    • TestCase

      public TestCase()
      No-arg constructor to enable serialization. This method is not intended to be used by mere mortals without calling setName().
    • TestCase

      public TestCase(String name)
      Constructs a test case with the given name.
  • Method Details

    • countTestCases

      public int countTestCases()
      Counts the number of test cases executed by run(TestResult result).
      Specified by:
      countTestCases in interface Test
    • createResult

      protected TestResult createResult()
      Creates a default TestResult object.
      See Also:
    • run

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

      public void run(TestResult result)
      Runs the test case and collects the results in TestResult.
      Specified by:
      run in interface Test
    • runBare

      public void runBare() throws Throwable
      Runs the bare test sequence.
      Throws:
      Throwable - if any exception is thrown
    • runTest

      protected void runTest() throws Throwable
      Override to run the test and assert its state.
      Throws:
      Throwable - if any exception is thrown
    • assertTrue

      public static void assertTrue(String message, boolean condition)
      Asserts that a condition is true. If it isn't it throws an AssertionFailedError with the given message.
    • assertTrue

      public static void assertTrue(boolean condition)
      Asserts that a condition is true. If it isn't it throws an AssertionFailedError.
    • assertFalse

      public static void assertFalse(String message, boolean condition)
      Asserts that a condition is false. If it isn't it throws an AssertionFailedError with the given message.
    • assertFalse

      public static void assertFalse(boolean condition)
      Asserts that a condition is false. If it isn't it throws an AssertionFailedError.
    • fail

      public static void fail(String message)
      Fails a test with the given message.
    • fail

      public static void fail()
      Fails a test with no message.
    • assertEquals

      public static void assertEquals(String message, Object expected, Object actual)
      Asserts that two objects are equal. If they are not an AssertionFailedError is thrown with the given message.
    • assertEquals

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

      public static void assertEquals(String message, String expected, String actual)
      Asserts that two Strings are equal.
    • assertEquals

      public static void assertEquals(String expected, String actual)
      Asserts that two Strings are equal.
    • assertEquals

      public static void assertEquals(String message, double expected, double actual, double delta)
      Asserts that two doubles are equal concerning a delta. If they are not an AssertionFailedError is thrown with the given message. If the expected value is infinity then the delta value is ignored.
    • assertEquals

      public static void assertEquals(double expected, double actual, double delta)
      Asserts that two doubles are equal concerning a delta. If the expected value is infinity then the delta value is ignored.
    • assertEquals

      public static void assertEquals(String message, float expected, float actual, float delta)
      Asserts that two floats are equal concerning a positive delta. If they are not an AssertionFailedError is thrown with the given message. If the expected value is infinity then the delta value is ignored.
    • assertEquals

      public static void assertEquals(float expected, float actual, float delta)
      Asserts that two floats are equal concerning a delta. If the expected value is infinity then the delta value is ignored.
    • assertEquals

      public static void assertEquals(String message, long expected, long actual)
      Asserts that two longs are equal. If they are not an AssertionFailedError is thrown with the given message.
    • assertEquals

      public static void assertEquals(long expected, long actual)
      Asserts that two longs are equal.
    • assertEquals

      public static void assertEquals(String message, boolean expected, boolean actual)
      Asserts that two booleans are equal. If they are not an AssertionFailedError is thrown with the given message.
    • assertEquals

      public static void assertEquals(boolean expected, boolean actual)
      Asserts that two booleans are equal.
    • assertEquals

      public static void assertEquals(String message, byte expected, byte actual)
      Asserts that two bytes are equal. If they are not an AssertionFailedError is thrown with the given message.
    • assertEquals

      public static void assertEquals(byte expected, byte actual)
      Asserts that two bytes are equal.
    • assertEquals

      public static void assertEquals(String message, char expected, char actual)
      Asserts that two chars are equal. If they are not an AssertionFailedError is thrown with the given message.
    • assertEquals

      public static void assertEquals(char expected, char actual)
      Asserts that two chars are equal.
    • assertEquals

      public static void assertEquals(String message, short expected, short actual)
      Asserts that two shorts are equal. If they are not an AssertionFailedError is thrown with the given message.
    • assertEquals

      public static void assertEquals(short expected, short actual)
      Asserts that two shorts are equal.
    • assertEquals

      public static void assertEquals(String message, int expected, int actual)
      Asserts that two ints are equal. If they are not an AssertionFailedError is thrown with the given message.
    • assertEquals

      public static void assertEquals(int expected, int actual)
      Asserts that two ints are equal.
    • assertNotNull

      public static void assertNotNull(Object object)
      Asserts that an object isn't null.
    • assertNotNull

      public static void assertNotNull(String message, Object object)
      Asserts that an object isn't null. If it is an AssertionFailedError is thrown with the given message.
    • assertNull

      public static void assertNull(Object object)
      Asserts that an object is null. If it isn't an AssertionError is thrown. Message contains: Expected: but was: object
      Parameters:
      object - Object to check or null
    • assertNull

      public static void assertNull(String message, Object object)
      Asserts that an object is null. If it is not an AssertionFailedError is thrown with the given message.
    • assertSame

      public static void assertSame(String message, Object expected, Object actual)
      Asserts that two objects refer to the same object. If they are not an AssertionFailedError is thrown with the given message.
    • assertSame

      public static void assertSame(Object expected, Object actual)
      Asserts that two objects refer to the same object. If they are not the same an AssertionFailedError is thrown.
    • assertNotSame

      public static void assertNotSame(String message, Object expected, Object actual)
      Asserts that two objects do not refer to the same object. If they do refer to the same object an AssertionFailedError is thrown with the given message.
    • assertNotSame

      public static void assertNotSame(Object expected, Object actual)
      Asserts that two objects do not refer to the same object. If they do refer to the same object an AssertionFailedError is thrown.
    • failSame

      public static void failSame(String message)
    • failNotSame

      public static void failNotSame(String message, Object expected, Object actual)
    • failNotEquals

      public static void failNotEquals(String message, Object expected, Object actual)
    • format

      public static String format(String message, Object expected, Object actual)
    • setUp

      protected void setUp() throws Exception
      Sets up the fixture, for example, open a network connection. This method is called before a test is executed.
      Throws:
      Exception
    • tearDown

      protected void tearDown() throws Exception
      Tears down the fixture, for example, close a network connection. This method is called after a test is executed.
      Throws:
      Exception
    • toString

      public String toString()
      Returns a string representation of the test case.
      Overrides:
      toString in class Object
    • getName

      public String getName()
      Gets the name of a TestCase.
      Returns:
      the name of the TestCase
    • setName

      public void setName(String name)
      Sets the name of a TestCase.
      Parameters:
      name - the name to set