[jboss-as7-dev] Testsuite grouping: Splitting to many modules, or something different?

Aslak Knutsen aknutsen at redhat.com
Fri Dec 2 04:34:29 EST 2011


I think you missed the most obvious one.. 

E) Fix Maven Execution / Surefire

-aslak-


----- Original Message -----
> Hi everyone interested,
> 
> there are these motivations for grouping the tests:
> 
> 1) Splitting tests by functional area, e.g. jms, jacorb, cmp.
> 2) Splitting tests by purpose, e.g. smoke, basic, stress etc.
> 3) Running tests with different configs.
> 4) Running various groups of tests.
> 
> 4) can be done using e.g.
> -Dtest=org.jboss.as.test.integration.ejb.*TestCase.java (provided
> -Dtest works fine), so I'll drop it from further considerations).
> 
> 1-3) is currently done by a combination of modules and Surefire
> executions.
> The problem with the later is that a failure in one execution
> prevents the successive from running.
> 
> Here are options how that can be solved:
> 
> A) Naive solution: Keep status quo, keep tests in the first execution
> in a good condition.
> Pros: * We already have it.
> Cons: * It will fail now and then, and people would need an extra run
> for the other group, using various params.
> 
> B) Megalomanic solution: Make every combination a maven module.
> Pros:
> * Avaliable right away.
> Cons:
> * Will result in many modules - e.g. smoke-web, smoke-full,
> basic-web, basic-full, ...
> * => much harder to maintain, esp. for the product features (need to
> distribute stuff to too many pom.xml's).
> * Slower testsuite and AS7 build.
> * Would not scale for the cases when each test needs a different
> config.
> 
> C) Optimistic engineer's solution: Use JUnit's new @Category and
> Arquillians ability to restart a server with other config, based on
> @ContainerConfig("path-to-config.xml").
> Pros:
> * Simple, clean approach; no pom.xml hell.
> * Easy to maintain.
> * Easy to reorganize later.
> * Would get 3) and 4) out of maven
> Cons:
> * Arq's impl of @Category is not tested
> * We would need to put @Category to all tests
> * @ContainerConfig("path-to-config.xml") is not implemented. We could
> (mis)use @TargetsContainer and @OperatesOnDeployment.
> 
> Are there others?
> Did I miss some pros or cons?
> Which one do you like?
> 
> Ondra
> 
> 


More information about the jboss-as7-dev mailing list