|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectjunit.framework.Assert
junit.framework.TestCase
org.castor.xmlctf.TestWithCustomTest
class TestWithCustomTest
Implements a test case that tests code written by the XML source generator. This class uses a user-provided test class to test the generated source.
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.
| Field Summary | |
|---|---|
protected FailureType |
_failure
The failure object that is not null is the test intends to fail. |
protected boolean |
_failureExpected
True if the test is supposed to return failure or throw an Exception. |
| Constructor Summary | |
|---|---|
TestWithCustomTest(java.lang.String name)
Blank constructor for this test case. |
|
TestWithCustomTest(java.lang.String name,
XMLTestCase tc)
Constructs a test case that when invoked will delegate to the provided test case. |
|
| Method Summary | |
|---|---|
protected java.lang.Object |
getTestObject(java.lang.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 |
|---|
countTestCases, createResult, getName, run, run, runBare, setName, toString |
| 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, failNotEquals, failNotSame, failSame, format |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected final FailureType _failure
protected final boolean _failureExpected
| Constructor Detail |
|---|
TestWithCustomTest(java.lang.String name)
name - Name of our delegate test case
TestWithCustomTest(java.lang.String name,
XMLTestCase tc)
name - Name of our delegate test casetc - | Method Detail |
|---|
protected void setUp()
throws java.lang.Exception
setUp in class junit.framework.TestCasejava.lang.Exception - if anything goes wrong during setup
protected void tearDown()
throws java.lang.Exception
tearDown in class junit.framework.TestCasejava.lang.Exception - if anything goes wrong during teardownpublic void runTest()
runTest in class junit.framework.TestCasejava.lang.Exception - when anything goes wrong (this is temporary)
protected java.lang.Object getTestObject(java.lang.String testClassName)
throws java.lang.ClassNotFoundException,
java.lang.IllegalAccessException,
java.lang.InstantiationException
testClassName - name of the test class
java.lang.ClassNotFoundException - when the test object's class cannot be found
java.lang.IllegalAccessException - when the test object's constructor is private or protected
java.lang.InstantiationException - when the test object is abstract or an interface
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||