]
Carlo Marchiori commented on ARQ-567:
-------------------------------------
I have found a workaround that consists in using
- *Arquillian extension org.eu.ingwar.tools:arquillian-suite-extension* and it's
attribute @ArquillianSuiteDeployment on the top Suite
- *(a)RunWith(Suite.class)* on all *container test classes* that should not contain actual
test method; this creates the correct test tree
- *(a)RunWith(Arquillian.class)* on all *leaf test classes* that contain actual test
methods; this instructs JUnit/Arquillian to invoke the test methods remotely
Supporting Test Suites (@ArquillianSuite)
-----------------------------------------
Key: ARQ-567
URL:
https://issues.jboss.org/browse/ARQ-567
Project: Arquillian
Issue Type: Feature Request
Reporter: Mousavi Jahan Abadi S. M.
Assignee: Aslak Knutsen
Fix For: 1.2.0.Alpha1
Currently, it is supported that JUnit test cases being run by Arquillian. This feature
request is request for supporting test suites too to be run by Arquillian too. Idea is
like:
@RunWith(ArquillianSuite.class)
@Suite.SuiteClasses( { TestCase1.class, TestCase2.class, .... } )
public class AllTests{
@Deployment
public static JavaArchive createTestArchive(){
return ShrinkWrap.create(JavaArchive.class,"test.jar");
}
}
The advantages of above approach for users of Arquillian framework are:
- Test cases don't needed to be modified to have:
"(a)RunWith(Arquillian.class)" annotation. In other words, test cases will be pure
JUnit code, and no Arquillian code (results in less coding for end users).
- It is not necessary to include the static "@Deployment" methods in all test
cases any more, and only Test Suite need to define the archieving/deployment related
setting/definitions.
The advantage of above approach for framework itself is:
- From performance point-of-view, it becomes possible for Arquillian to deploy all test
cases in the Test Suite into J2EE container in one action (one deploy/undeploy for one
test suite, instead of mulitple deploy/undeploy for each test case).