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
>

Reply via email to