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
