db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristian Waagan (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-919) improve pattern for setting up junit tests
Date Thu, 16 Mar 2006 15:59:59 GMT
     [ 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)
> 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:
For more information on JIRA, see:

View raw message