|
||||||||
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 |
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 caseTestWithCustomTest(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.TestCase
java.lang.Exception
- if anything goes wrong during setupprotected void tearDown() throws java.lang.Exception
tearDown
in class junit.framework.TestCase
java.lang.Exception
- if anything goes wrong during teardownpublic void runTest()
runTest
in class junit.framework.TestCase
java.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 |