One idea I have been think about is to have a series of "test only" projects that test the jar/war of the main project.
Maven Project Description
---------------- -----------------------------------------------------
foo - This project produces foo.jar. The project includes
basic unit testing.
fooUnitTestPart2 - This project produces no jars or wars. It is used
to run additional test on foo.jar. These tests
require that core functionality in the jar/war has
passed all of it's unit test.
fooBasicIntTest - This project produces no jars or wars. It is used
to run basic integrated test on foo.jar.
fooAdvIntTest - This project produces no jars or wars. It is used
to run advanced integrated test on foo.jar
fooComplete - Maven Project that include the above projects as
subproject. Thus building this project will build
foo.jar and run all of the unit and integrated test.Advantages to this approach o Allows jar/war to be built with only unit testing being performed. Test that take a lot of time, due to database setup for example, are moved out of the main project to a testing project.
o Use of more the one "test only" project allows for more control over the order test are performed.
o All test can be run using an automated build tool like CruiseControl and Gump.
Disadvantages to this approach o A successful build of the main project does not mean that jar/war has passed all of the test.
Paul Spencer
Marcin Gurbisz wrote:
Hi,
My question is how you deal with tests which are integration rather than simple unit test. For example tests require running server, database (but they aren't cactus test).
I consider to possibilities:
- creating another module
- creating another dir in existing module (ex. src/integration-test)
In both possibilities I find useful to create plug-in for invoking this tests.
I will be helpful for any thoughts.
Marcin
--------------------------------------------------------------------- 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]
