Hi Karel,
I like the plan in general :-)
On 8 Dec 2009, at 16:55, Karel Piwko wrote:
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.
Ok, sounds good.
2/ In a example, add the same "ftest" profile with
dependency on
ftest-example artifact. This dependency is interval based,
What does this mean?
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.
Sounds good.
3/ Running maven with ftest profile will execute functional tests
during
integration-test phase
Ok.
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.
Ondrej explained that the issue here is that you are getting the plugin config activated
in children with no tests. Have you tried putting the config in <pluginManagement>
and only activating the plugin in the relevant children?
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.
What does this file do?