[ http://issues.apache.org/jira/browse/DERBY-919?page=all ]
Kristian Waagan updated DERBY-919:
----------------------------------
Attachment: BaseJUnitTestClasses-v1.tar
Another go at establishing base classes for JUnit tests -
'BaseJUnitTestClasses-v1.tar' (tar contains 4 files, extract in trunk).
Implementation is a result of the comments received and classes submitted to
this Jira issue.
The implementation is just a first go, it is not complete. When it (hopefully)
is committed, I will create a Jira issue for tracking improvements and bugs
related to the base classes for JUnit tests.
I have tried using BaseJDBCTestCase in some tests, and for my current use it
has been sufficient and working. It will have to be extended pretty soon.
I would appreciate if someone had a look at this pretty quick, and that a
committer committed it as soon as it is approved.
A few comments:
* no support for getting connections through DataSource yet.
* no DataSource class name included for the JCC client.
* exception handling in BaseJDBCTestCase.loadJDBCDriver() not optimal
(initCause not available in Java 1.3).
* methods in BaseJDBCTestCase are static so that for instance TestSetup classes
can use them.
> improve pattern for setting up junit tests
> ------------------------------------------
>
> Key: DERBY-919
> URL: http://issues.apache.org/jira/browse/DERBY-919
> Project: Derby
> Type: Sub-task
> Components: Test
> Environment: All
> Reporter: Andreas Korneliussen
> Assignee: Kristian Waagan
> Attachments: BaseJUnitTestClasses-v1.tar, BasicDerbyJUnitTest.html,
> BasicDerbyJUnitTest.java, BasicDerbyJUnitTestTest.java, JDBCClient.java,
> TestConfiguration.java
>
> The current junit tests cannot be run directly from the java.ui.textrunner by
> i.e using:
> java junit.textui.TestRunner
> org.apache.derbyTesting.functionTests.tests.junitTests.lang.BooleanTest
> .E
> Time: 0.008
> There was 1 error:
> 1)
> testBoolean(org.apache.derbyTesting.functionTests.tests.junitTests.lang.BooleanTest)java.lang.NullPointerException
> at
> org.apache.derbyTesting.functionTests.util.DerbyJUnitTest.faultInDriver(DerbyJUnitTest.java:317)
> at
> org.apache.derbyTesting.functionTests.util.DerbyJUnitTest.getConnection(DerbyJUnitTest.java:345)
> at
> org.apache.derbyTesting.functionTests.util.DerbyJUnitTest.getConnection(DerbyJUnitTest.java:335)
> at
> org.apache.derbyTesting.functionTests.tests.junitTests.lang.BooleanTest.testBoolean(BooleanTest.java:136)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> FAILURES!!!
> Tests run: 1, Failures: 0, Errors: 1
> The reason is that the tests needs to have some fixture being set up before
> the test can run, and that this is currently supported by calling a bunch of
> static methods in the correct order to initialize some static members of
> DerbyJUnitTest.
> The proposed alternative is that the added fixture is set up in the suite()
> method, which is used by JUnit to get the Test object to be run.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira