It's little bit hard understanding all of the magic with your profiles and why you can''t combine them. But if I assume that you want to test your application with different configuration (different db, different configuration/properties, etc.) I suggest that you create a separate multi-module project for your testing. Each of the modules there would test ONE specific setup/config for the applicatation. You would bind the setup of the environment to the pre-integration-test phase and the tear down of the same to the post-integration-test phase. And then you use the maven-failsafe-plugin to execute all tests (for that app config) in the integration-test phase.
If you have the same set of JUnit test classes to be used in all modules, you have these in a separate module which would create a test artifact that you re-use in the other modules. If you have a lot of the same pom config magics in the modules this can be moved to the pluginManagement section of the parent (more advanced Maven usage, do that last when everything already works). This will make it possible to build all modules for a complete test suite ("mvn verify"). If you just want to test one setup/config you only build that module ("mvn verify"). /Anders On Wed, Jan 8, 2014 at 11:08 PM, Todd Chapman <t...@chaka.net> wrote: > Hello, > > We have a java multi-module project that has a somewhat painful to run test > suite that I would like to get under control using Maven. > > Currently it takes 5 separate Maven commands to setup, run, and teardown > all the tests and test databases. I'd like to get this down to one command. > Also I would like this structured so that individual parts of the process > can be run separately to aid in debugging problems. > > The pom has 1 profile for each part of the task, all bound to the "test" > goal: > > mvn clean test -P test-setup-1,local-enterprise-test-db (exec:java plugin > to setup up a database) > mvn test -P test-setup-2,local-enterprise-test-db (exec:java > plugin to setup up a 2nd database) > mvn test -P test-design,local-enterprise-test-db (surefire > plugin to run a subset of the tests with maven properties set) > mvn test -P test-transactional,local-enterprise-test-db (surefire plugin > to run a different subset of the tests with different maven properties set) > mvn test -P test-tear-down,local-enterprise-test-db (exec:java > plugin to teardown the databases) > > > The problem I am running into is how to get this organized so that it all > happens with 1 command. It seems nearly unpossible. > > Can anyone offer any advice on how to accomplish this? Pointer to relevant > articles, blog posts, stackoverflow questions would be most appreciated. > > Thanks! > > -Todd >