Perhaps not ideal, but this would work: mvn -Pdev clean test => for your unit tests mvn -Dmaven.test.skip=true clean install (or cargo:deploy) => for real install/deployment
And of course you'll need to specify a special dev/test config file directory in the dev profile. Wayne On 10/26/07, jimpo <[EMAIL PROTECTED]> wrote: > > 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
