[ 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

Reply via email to