Arquillian Core 1.3.0.Final Released
Since we wrote this post we didn't laze around. Check our latest announcement.
The Arquillian team is proud to announce the 1.3.0.Final release of the Arquillian Core component!
Deployment Archives using Java SPI
Usually, you deploy into a container using @Deployment
annotation. But now you can implement your own strategy to generate deployable archive. For this purpose we created simplified Java SPI org.jboss.arquillian.container.test.spi.client.deployment.AutomaticDeployment
.
The service must conform following signature:
/**
* Method called for generating the deployment configuration.
* @param testClass of current running test.
* @return Model object that contains all the information related to deployment configuration.
*/
DeploymentConfiguration generateDeploymentScenario(TestClass testClass);
Moreover, you can use @BeforeDeployment
method annotation which allows you to modify the archive before it is deployed. The method must be public static
and receive as a parameter an org.jboss.shrinkwrap.api.Archive
which is the archive created by AutomaticDeployment
implementation. The method returns enriched org.jboss.shrinkwrap.api.Archive
based on your needs.
@BeforeDeployment
public static Archive addDeploymentContent(Archive archive) {
// Modify Archive
return archive;
}
Test Observer
The inner communication between Arquillian Core and other Arquillian extensions is based on the event machine. To get information about the event flow you can run your tests using the property -Darquillian.debug=true
.
In case you need to add an additional logic to the whole test suite, you can use Arquillian SPI and create your own Arquillian extension to observe any event that you need. The downside of this approach is that this extension is applied to all test classes.
In this release, we introduce a new annotation @Observer
. Adding it to the test class you can specify additional observers that will be applied only to this specific test class (without any need of using SPI). You can observe any Arquillian event in the context of the related test class that you need (starting with BeforeClass
and ending with AfterClass
):
@RunWith(Arquillian.class)
@Observer(MyObserver.class)
public class MyTestCase {
The Arquillian observer class has to have a non-parametric constructor and the observer method should be defined by @Observes
annotation:
public void observeBeforeClass(@Observes BeforeClass event) {
What is Arquillian?
Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.
Release details
Component | Arquillian Core |
---|---|
Version | 1.3.0.Final view tag |
Release date | 2018-02-05 |
Released by | Bartosz Majsak |
Compiled against |
Published artifacts org.jboss.arquillian.core
- org.jboss.arquillian.core » arquillian-core-api jar javadoc pom
- org.jboss.arquillian.core » arquillian-core-spi jar javadoc pom
- org.jboss.arquillian.core » arquillian-core-impl-base jar javadoc pom
- org.jboss.arquillian.config » arquillian-config-api jar javadoc pom
- org.jboss.arquillian.config » arquillian-config-spi jar javadoc pom
- org.jboss.arquillian.config » arquillian-config-impl-base jar javadoc pom
- org.jboss.arquillian.test » arquillian-test-api jar javadoc pom
- org.jboss.arquillian.test » arquillian-test-spi jar javadoc pom
- org.jboss.arquillian.test » arquillian-test-impl-base jar javadoc pom
- org.jboss.arquillian.container » arquillian-container-spi jar javadoc pom
- org.jboss.arquillian.container » arquillian-container-impl-base jar javadoc pom
- org.jboss.arquillian.container » arquillian-container-test-api jar javadoc pom
- org.jboss.arquillian.container » arquillian-container-test-spi jar javadoc pom
- org.jboss.arquillian.container » arquillian-container-test-impl-base jar javadoc pom
- org.jboss.arquillian.junit » arquillian-junit-core jar javadoc pom
- org.jboss.arquillian.junit » arquillian-junit-standalone jar javadoc pom
- org.jboss.arquillian.junit » arquillian-junit-container jar javadoc pom
- org.jboss.arquillian.testng » arquillian-testng-core jar javadoc pom
- org.jboss.arquillian.testng » arquillian-testng-standalone jar javadoc pom
- org.jboss.arquillian.testng » arquillian-testng-container jar javadoc pom
- org.jboss.arquillian.testenricher » arquillian-testenricher-cdi jar javadoc pom
- org.jboss.arquillian.testenricher » arquillian-testenricher-ejb jar javadoc pom
- org.jboss.arquillian.testenricher » arquillian-testenricher-resource jar javadoc pom
- org.jboss.arquillian.testenricher » arquillian-testenricher-initialcontext jar javadoc pom
- org.jboss.arquillian.protocol » arquillian-protocol-servlet jar javadoc pom
- org.jboss.arquillian.protocol » arquillian-protocol-jmx jar javadoc pom
- org.jboss.arquillian » arquillian-bom pom
Release notes and resolved issues 2
- Enhancement
Thanks to the following list of contributors: Bartosz Majsak, Matous Jobanek, Alex Soto