Hi all,
there is QA proposal of integrating functional tests into Maven
lifecycle for building weld/seam-examples:
1/ Add an profile "ftest" into pom.xml of weld-examples-parent.
This profile contains all the necessary build executions
(starting container/deploying/running Selenium/
collecting results/undeploying/stopping container),
so this can be shared by examples.
2/ In a example, add the same "ftest" profile with dependency on
ftest-example artifact. This dependency is interval based, so
there is no need to release the example when its ftest changes.
Then add the testsuite for container into src/test/ directory of
example.
3/ Running maven with ftest profile will execute functional tests during
integration-test phase
So, all ftests are maven artifacts, downloaded from repository when
needed, normal build is untouched. We implemented this proposal for
Weld jsf/numberguess example and things are working fine.
There are currently two problems :
a/ Although weld-examples-parent contains ftest profile, this cannot be
used to recursively test all modules, because there is no way how
selectively activate this profile only for modules where this
is applicable (will be working in Maven 3). This shouldn't be the
problem, because in the end examples will be mainly parts of
weld|seam-modules, so this couldn't be used as well.
b/ User is required to pass reference to ftest.properties file with
-Dftest.properties, but this file is not a part of example
distribution. We can add this file or its skeleton to each example,
but it doesn't seem right.
And one open question:
Where will these ftest-examples packages live in SVN repository? I
placed them for the moment into examples/tests, but there might be a
better place.
Any comments on this?
Karel