Hey @ all,

I want to bring up the integration test structure topic again,
especially because discussions regarding new modules are starting. I
spent some time on the weekend to work on [1] and while doing this I
came to the conclusion that the integration tests currently don't work
very well.

The main reason for the problems is the fact that the tests are
currently split between the core-impl and integration-test modules.
Most tests have been added to the core-impl module which contains
Arquillian profiles for OWB and Weld. The integration-test module has
only a few tests but also unpacks the tests of core-impl and executes
them a second time. Beside the profiles for AS7 and Glassfish it also
includes the OWB and Weld profiles. I ran into major problems getting
the tests to work correctly in both modules mainly due to classpath
clashes between different versions of apache-deltaspike.properties on
the classpath.

I really think we should try to optimize this structure so it runs
more smoothly and doesn't execute the tests more than once. IMHO it
makes no sense to have Arquillian tests in both core-impl and
integration-test. I think we should go with one of the following two
ways:

A)
Move all Arquillian tests from core-impl to the integration-test
module so that core-impl only contains standard junit tests. So the
integration tests are only executed in the integration-test module.
This way we could also remove the OWB and Weld profiles from
"parent-code". This structure has the advantage that the
integration-test module could simply declare a dependency on the core
module JAR which simplifies the Shrinkwrap packaging a lot.

B)
Move all the Arquillian tests to core-impl. The integration-test
module would become dispensable in this case. All unit and integration
tests go into the core-impl module and we simply move the AS7 and
Glassfish profiles over there (as OWB and Weld are already present).
Actually this wouldn't be much work because we would only have to move
a few tests and the AS7/Glassfish profiles. Everything else is already
there.

I for myself would prefer A), but that's just my personal preference.
What do you think regarding this? I would love to hear opinions! :)

Christian

[1] https://issues.apache.org/jira/browse/DELTASPIKE-63


-- 
Christian Kaltepoth
Blog: http://chkal.blogspot.com/
Twitter: http://twitter.com/chkal

Reply via email to