Class TestWithCustomTest
- All Implemented Interfaces:
junit.framework.Test
Each user-provided test is allowed to return a Boolean, either a primitive or a java.lang.Boolean -- it does not matter. If the user-provided test returns a Boolean and it is false, then the test is considered to have failed. If the user-provided test throws or returns a Throwable, it is considered to have failed. If the user-provided test returns anything else (including void) then the test is considered to have passed.
Note: Returning Throwable is a little bit cleaner than throwing an Exception, but either is acceptable as a sign of test failure. This is because when a Throwable is returned, if -printStack is in effect, then the CORRECT stack trace can be displayed and not a stack dump from the refective invocation.
There is no requirement that the user-provided test implement any interface, nor any requirement that the user-provided test return anything at all. However, a test that returns "void" and that never throws an Exception is not a very useful test as it can never fail.
- Version:
- $Revision: 0000 $ $Date: $
- Author:
- Edward Kuns
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final FailureType
The failure object that is not null is the test intends to fail.protected final boolean
True if the test is supposed to return failure or throw an Exception. -
Constructor Summary
ConstructorsConstructorDescriptionTestWithCustomTest
(String name) Blank constructor for this test case.TestWithCustomTest
(String name, XMLTestCase tc) Constructs a test case that when invoked will delegate to the provided test case. -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
getTestObject
(String testClassName) Gets an instance of our test object, as configured.void
runTest()
Runs our test case using our delegate object where necessary.protected void
setUp()
Provides setup for our delegated test case, depending on the type of test case we are delegating for.protected void
tearDown()
Provides tear down for our delegated test case, depending on the type of test case we are delegating for.Methods inherited from class junit.framework.TestCase
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, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runBare, setName, toString
-
Field Details
-
_failure
protected final FailureType _failureThe failure object that is not null is the test intends to fail. -
_failureExpected
protected final boolean _failureExpectedTrue if the test is supposed to return failure or throw an Exception.
-
-
Constructor Details
-
TestWithCustomTest
TestWithCustomTest(String name) Blank constructor for this test case. This contructor is not useful, since no delegate test case is provided.- Parameters:
name
- Name of our delegate test case
-
TestWithCustomTest
TestWithCustomTest(String name, XMLTestCase tc) Constructs a test case that when invoked will delegate to the provided test case.- Parameters:
name
- Name of our delegate test casetc
-
-
-
Method Details
-
setUp
Provides setup for our delegated test case, depending on the type of test case we are delegating for.- Overrides:
setUp
in classjunit.framework.TestCase
- Throws:
Exception
- if anything goes wrong during setup
-
tearDown
Provides tear down for our delegated test case, depending on the type of test case we are delegating for.- Overrides:
tearDown
in classjunit.framework.TestCase
- Throws:
Exception
- if anything goes wrong during teardown
-
runTest
public void runTest()Runs our test case using our delegate object where necessary.- Overrides:
runTest
in classjunit.framework.TestCase
- Throws:
Exception
- when anything goes wrong (this is temporary)
-
getTestObject
protected Object getTestObject(String testClassName) throws ClassNotFoundException, IllegalAccessException, InstantiationException Gets an instance of our test object, as configured.- Parameters:
testClassName
- name of the test class- Returns:
- an instance of our test object
- Throws:
ClassNotFoundException
- when the test object's class cannot be foundIllegalAccessException
- when the test object's constructor is private or protectedInstantiationException
- when the test object is abstract or an interface
-