dependencies {
testCompile 'org.arquillian.container:arquillian-chameleon-junit-container-starter:1.0.0.CR4'
testCompile 'org.arquillian.container:arquillian-chameleon-gradle-build-deployment:1.0.0.CR4'
}
23 December 2018
In this post and this post I have described how Chameleon can considerably simplify the usage of Arquillian.
What still was missing is the option for Arquillian to build the artifact/WAR with Gradle itself and use it for the test/deployment.
Some time ago I gave it a shot to implement the @GradleBuild
-annotation similar to the existing @MavenBuild
-annotation.
It took some time until my commit made it into an official release-candidate; but here are the steps how you can make use of it.
Here, I am only listing the updated dependencies for Chameleon:
dependencies {
testCompile 'org.arquillian.container:arquillian-chameleon-junit-container-starter:1.0.0.CR4'
testCompile 'org.arquillian.container:arquillian-chameleon-gradle-build-deployment:1.0.0.CR4'
}
Now you can make use of @GradleBuild
. It will trigger the Gradle-build via the Tooling-API and use the artifact under build/libs
as deployment for the test.
@RunWith(ArquillianChameleon.class)
@GradleBuild
@ChameleonTarget(value = "wildfly:11.0.0.Final:managed")
public class HelloServiceIT {
@Inject
private HelloService service;
@Test
public void shouldGreetTheWorld() throws Exception {
Assert.assertEquals("hello", service.hello());
}
}