org.jboss.arquillian.container:container-se-api

A Managed container starting a new JVM instance for each test archive. The classpath of the separate process is configurable and tests are executed using Arquillian JMX protocol.

License

License

Categories

Categories

JBoss Container Application Servers
GroupId

GroupId

org.jboss.arquillian.container
ArtifactId

ArtifactId

container-se-api
Last Version

Last Version

1.0.2.Final
Release Date

Release Date

Type

Type

jar
Description

Description

A Managed container starting a new JVM instance for each test archive. The classpath of the separate process is configurable and tests are executed using Arquillian JMX protocol.

Download container-se-api

How to add to project

<!-- https://jarcasting.com/artifacts/org.jboss.arquillian.container/container-se-api/ -->
<dependency>
    <groupId>org.jboss.arquillian.container</groupId>
    <artifactId>container-se-api</artifactId>
    <version>1.0.2.Final</version>
</dependency>
// https://jarcasting.com/artifacts/org.jboss.arquillian.container/container-se-api/
implementation 'org.jboss.arquillian.container:container-se-api:1.0.2.Final'
// https://jarcasting.com/artifacts/org.jboss.arquillian.container/container-se-api/
implementation ("org.jboss.arquillian.container:container-se-api:1.0.2.Final")
'org.jboss.arquillian.container:container-se-api:jar:1.0.2.Final'
<dependency org="org.jboss.arquillian.container" name="container-se-api" rev="1.0.2.Final">
  <artifact name="container-se-api" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.jboss.arquillian.container', module='container-se-api', version='1.0.2.Final')
)
libraryDependencies += "org.jboss.arquillian.container" % "container-se-api" % "1.0.2.Final"
[org.jboss.arquillian.container/container-se-api "1.0.2.Final"]

Dependencies

compile (2)

Group / Artifact Type Version
org.jboss.shrinkwrap : shrinkwrap-api jar
org.jboss.shrinkwrap : shrinkwrap-impl-base jar

Project Modules

There are no modules declared in this project.

Arquillian-container-SE

Managed container starting a new JVM instance for each test archive. The classpath of the separate process is configurable and tests are executed using Arquillian JMX protocol.

How does it work

Arquillian-container-SE is basically implementation of standard org.jboss.arquillian.container.spi.client.container.DeployableContainer which during its deploy method starts a new JVM process with hardcoded org.jboss.arquillian.container.se.server.Main class. Newly created process exposes remote JMX connection so that Arquillian could execute a test remotely. Main class of the child process doesn’t do much. It creates new org.jboss.arquillian.protocol.jmx.JMXTestRunner MBean and registers it to MBean server. Tests are executed by this JMXTestRunner.

You can use following configuration properties:

Name Description Default value

additionalJavaOpts

allows you to specify additional Java options e.g -Dtest.foo=false

logLevel

define log level

INFO

debug

turn on debugging on port 8787

false

lib

set a directory path from which all jars are automatically added to the classpath

keepDeploymentArchives

keep your classpath artifacts after test execution

false

waitTime

time in seconds to wait for a start of the new process and JMXTestRunner MBean registration

5

Basic deployment example

You can easily compose your classpath by using org.jboss.arquillian.container.se.api.ClassPath which provides you access to static Builder class. Using this builder you can add archives, classes and similar stuff you are used to from ShrinkWrap API to your test classpath. Additionally you can specify system properties via this builder. Basic test deployment method could look like following:

[ source, java]

    @Deployment
    public static Archive<?> createTestArchive() {
        return ClassPath.builder()
                .add(ShrinkWrap.create(BeanArchive.class)
                        .addClasses(RequestScopedActiveInterceptorTest.class, Foo.class, Bar.class, Baz.class)).build();
    }
org.jboss.arquillian.container

An Innovative Testing Platform for the JVM

Versions

Version
1.0.2.Final
1.0.1.Final
1.0.0.Final
1.0.0.CR2
1.0.0.CR1
1.0.0.Alpha5
1.0.0.Alpha4
1.0.0.Alpha3
1.0.0.Alpha2
1.0.0.Alpha1