On Aug 5, 2004, at 10:19, Eric Hauser wrote:
I running some unit tests with Maven during my build process using Hypersonic in-memory mode as the datasource. I generating the schema from Hibernate and then loading the schema in a preGoal for test:test using the ant:sql tags. The problem that I am having is every time the unit test runs, Hypersonic cannot seem to find the tables that I just loaded. Anyone have an example code that does something similar? Thanks.
We don't generate the database schema as part of the test goal; instead, the Hypersonic database script is an original source and stored in version control. Other than that, I think we're doing something similar to what you're trying to do.
The problem we ran into was that Maven has no well-defined current directory from which to specify a relative path to the database script. Normally, this would mean that you'd have to specify an absolute path, which is generally a Bad Idea.
I got around this by modifying the datasource configuration properties file in a pregoal for test:test:
<preGoal name="test:test"> <ant:copy todir="${maven.build.dir}/test-classes" overwrite="true" > <ant:fileset dir="${maven.src.dir}/test/conf"> <ant:include name="datasource.properties" /> </ant:fileset> <ant:filterset> <ant:filter token="BUILDDIR" value="${maven.build.dir}" /> </ant:filterset> </ant:copy> </preGoal>
The datasource configuration properties file contains (in part):
testPool.jdbc.driver=org.hsqldb.jdbcDriver testPool.jdbc.url=jdbc:hsqldb:@BUILDDIR@/testdb
The glue between the datasource configuration properties and the code that uses the datasource I can't show you, unfortunately. But as long as you're defining the connection parameters in a configuration file (and you should be :-), you should be able to do something similar.
Hope this helps.
-- Craig S. Cottingham [EMAIL PROTECTED] OpenPGP key available from: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7977F79C
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]