Since we wrote this post we didn't laze around. Check our latest announcement.
The Arquillian team is proud to announce the 1.0.0.Alpha1 release of the Arquillian Container Chameleon component!
Have you ever faced an issue that switching between container implementations isn’t that easy?
Testing against several containers (JBoss AS / JBoss EAP / WildFly) or even switching between different modes (Managed, Remote, Embedded) may result in bloated pom.xml.
Chameleon Containers are able to quickly adopt to your needs without too much hassle.
Chameleons are a tall, lizard-looking alien race that has (same as their earthling friends) ability to change colours when adopting to various environments. They are usually transported in spaceships called Containers.
Do whatever you would do normally and add Chameleon Container instead of any application-server specific artifact:
<dependency> <groupId>org.jboss.arquillian.junit</groupId> <artifactId>arquillian-junit-container</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.arquillian.container</groupId> <artifactId>arquillian-container-chameleon</artifactId> <version>1.0.0.Alpha1</version> <scope>test</scope> </dependency>
Then add this configuration to arquillian.xml:
<container qualifier="proxy" default="true"> <configuration> <property name="target">wildfly:8.0.0.Final:managed</property> <property name="serverConfig">standalone-full.xml</property> </configuration> </container>
Now, you can switch container implementation as simple as changing the
target configuration option(e.g.
And off course, you can still configure the underlying container by its specific configuration (e.g. change serverConfig).
Example target values:
- jboss eap:6.2:remote
- jboss as:7.1.1.Final:managed
- JBoss EAP
- JBoss AS
Chameleon will download and extract the target container if no jbossHome is configured and target type is either embedded or managed.
What is Arquillian Container Chameleon?
The Chameleon container can quickly adapt to your needs of testing against several containers (JBoss AS / JBoss EAP / WildFly / GlassFish) or even switching between different modes (Managed / Remote / Embedded) without requiring additional dependency configuration.
|Component||Arquillian Container Chameleon|
|Version||1.0.0.Alpha1 view tag|
|Released by||Aslak Knutsen|