Context of a TestCase: A TestCase contains many TestSteps, which will be performed if this TestCase is used. So a TestCase aggregates a bunch of TestSteps in his TestStepGroups. @author
The following features are supported:
TestCase
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 {@link junit.framework.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 {@link #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 TestResult @see TestSuite
TestCase
represent a factory for TestEnvironment
s creation and disposing for a given implementation object. The TestEnvironment
contains an instance of the implementation object and all additional objects needed to perform tests on the object. The TestCase
provides four methods for its subclasses to define its functionality: initialize()
, cleanup()
, createTestEnvironment()
and disposeTestEnvironment()
. The first two are intended to initialize and cleanup common objects shared among all instances of TestEnvironment
produced by the TestCase
, and they are called at the beginning and at the end of the TestCase
lifecycle accordingly.
The other two are intended to produce and dispose TestEnvironment
instances. The createTestEnvironment()
is called to create a TestEnvironment
instance and the disposeTestEnvironment()
is called when the instane is not used anymore.
@see lib.TestEnvironment
The following features are supported:
|
|
|
|
|
|
|
|