db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4509) Convert autoincrement.sql to JUnit
Date Tue, 09 Feb 2010 00:05:28 GMT

    [ https://issues.apache.org/jira/browse/DERBY-4509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12831202#action_12831202

Kathey Marsden commented on DERBY-4509:

Thank you Jayaram for the patch.
My first general comment would be for the creation and cleanup of schema objects, you use
CleanDatabaseTestSetup and decorateSQL to create the objects such as tables and views up front
and then let them get cleaned up automatically at the end of the test.   You can then remove
the drop statements from the test.  If any table names are reused in the test you will have
to choose distinct names so there is no collision.   One big advantage of doing it this way
is that if the test fails for some reason we are assured that things get cleaned up properly
and also declutters the test.   Take a look at GroupByTest for an example of how to do this.

My second would be that it would be good to break the test up into multiple fixtures instead
of just one big one, for example maybe testIdentity  testIdentityWithStartValue, testIdentityWithIncrement,
etc.    Just go down through the autoincrement.out file and group it into logical chunks and
make sure each fixture has javadoc comments.

I did not check the out file against the new test, but noticed that the lock checking seems
to be missing.  You need to add the creation of the lock_table view and  check the locks where
they are being checked in the original test.  The master/autoincrement.out file has the expected

Also a small thing, instead of doing:
Connection conn = getConnection();
		Statement s = conn.createStatement();
to get a statement, just do 
   Statement s - getStatement();

Here again the statement will get cleaned up automatically, so you don't have to put the cleanup
code in the test.

There are other built in helper methods too, like
conn.commit();   -> commit()
conn.setAutoCommit(true); -> setAutoCommit(true);

Take a look at BaseJDBCTestCase to see what is available.



> Convert autoincrement.sql to JUnit
> ----------------------------------
>                 Key: DERBY-4509
>                 URL: https://issues.apache.org/jira/browse/DERBY-4509
>             Project: Derby
>          Issue Type: Task
>          Components: Test
>         Environment: Apache Derby
>            Reporter: Jayaram Subramanian
>            Assignee: Jayaram Subramanian
>            Priority: Minor
>         Attachments: AutoIncrementDO-NOT_COMMIT_diff.txt, AutoIncrementDO_NOT_COMMIT_diff.txt,
AutoIncrementDO_NOT_COMMIT_diff.txt, jira4509.txt, jira4509feb4.txt, jira4509feb4stat.txt,
> The task is to convert existing autoincrement.sql to JUnit

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message