Using application server -specified datasources is out of the question right now unfortunately. Database connection details are configured inside the web application.
It surprises me if Maven would not make it easy to use a different database configuration for the tests and a different one for the created application. This would basically make the dbUnit plugin pretty pointless, wouldn't it? If you are creating a release of your application, you want the release to point to a production db, but you still want the unit tests to be done against a unit test db populated with dbUnit. (not getting into whether such unit tests are really true "unit" tests...I need them regardless of the term) Arnaud Bailly wrote: > > jimpo <[EMAIL PROTECTED]> writes: > >> I am using Maven2 to build my war packet. Base maven configuration is >> created >> with Appfuse http://appfuse.org/display/APF/Home. >> >> When I do a mvn install (or mvn cargo:deploy), first a test phase >> executes, >> and then the final war is built and installed in the repository (or >> deployed >> to my app server). >> >> I want to run the tests against a different db than which the final >> package >> uses. So far I have not figured out how to do this. Test phase uses the >> same >> database as the final application. >> >> I figured out how to use profiles to switch between different databases. >> I >> can switch to test profile with, say, mvn test -Ptestdatabase. I could of >> course use mvn test -Ptestdatabase to test and then separate command mvn >> install -Dmaven.test.skip -Prealdatabase for creating the packet (and >> skipping tests), but that's not very nice. I want to be able to issue one >> command which does both phases, tests and packaging. >> >> I am guessing maybe the solution would be something like activating >> profile >> X for the tests phase, and then activating a different profile Y for the >> actual build. How could I accomplish this? >> > > Hello, > I do not think possible right now to activate different profiles for > different phases in the same run. And I do not think this is > desirable. Maybe, if you are in a J2EE Container, you could use > different data sources parameters in test and production ? AFAIK, data > source configuration is independent of the applicaiont and configured > in the container, so you could use a test configuration, say with > hsqldb or derby in test, and another configuration in productoin. In > your webapp, data source reference will stay the same. > > HTH > -- > OQube < software engineering \ génie logiciel > > Arnaud Bailly, Dr. > \web> http://www.oqube.com > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/How-to-use-different-databases-for-tests-and-the-actual-application--tf4696771s177.html#a13426113 Sent from the Maven - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
