## junit.framework
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:
  `TestResult`, `TestSuite`

Constructor Summary
`TestCase()` No-arg constructor to enable serialization.
`TestCase(String name)` Constructs a test case with the given name.

Method Summary
`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(Object expected, Object actual)` Asserts that two objects are equal.
`static void` `assertEquals(short expected, short actual)` Asserts that two shorts 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, Object expected, Object actual)` Asserts that two objects are equal.
`static void` `assertEquals(String message, short expected, short actual)` Asserts that two shorts 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` `assertNotNull(Object object)` 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` `assertNull(Object object)` 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` `countTestCases()` Counts the number of test cases executed by run(TestResult result).
`protected TestResult` `createResult()` Creates a default TestResult object.
`static void` `fail()` 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)`
`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(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.
`String` `toString()` 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`

Constructor Detail

### 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 Detail

### 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:
    `TestResult`

### run

    public TestResult run()

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

  See Also:
    `TestResult`

### 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: <null> 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

Copyright © 2002–2020 JUnit. All rights reserved.