Arquillian Core 1.1.11.Final Released

The Arquillian team is proud to announce the 1.1.11.Final release of the Arquillian Core component!

Highlights in this release

Support for injection in JUnit @Rules

Arquillian will now enrich JUnit Rules as well as JUnit Test classes. This allow you to inject any Arquillian controlled resource into a reusable rule, e.g:

public class MyTestCase {

    @Rule
    TestRule login = new TestRule() {
       @ArquillianResource
       private URL baseURL;

       public Statement apply(final Statement base, Description description) {
          return new Statement() {

             @Drone
             private WebDriver driver;

             public void evaluate() throws Throwable {
                driver.get(new URL(baseURL, "login"));
                ...

                base.evaluate();
             }
          }
       }
    }


    @Drone
    private WebDriver driver;
   
    @ArquillianResource
    private URL baseURL;

    @Test
    public void shouldInvokeSecuredURL() throws Exception {
       driver.get(new URL(baseURL, "secured"));
       ...
    }    
}

In the example above we’ve extracted the login to a web page into a Junit Rule which we can apply before the @Test run.

Report the first caught exception from incontainer execution

In previous versions we’ve caught and reported the last caught exception. This has had the side effect of potentially hiding the root cause of an exception in cases where ‘other things have failed due to the original exception’. The only thing you could see then was the ‘other failed thing’.

Now we’ve changed that around and you will be able to see the first Exception that happened. This makes it easier to debug some of the more complex in container exception cases.

SPI Before|AfterEnrichment events now contain more information

On the SPI level, BeforeEnrichment and AfterEnrichment events now contain the Object instance and Method that the event is being triggered for. Keep in mind that not all Enrichment events are related to a Method, so a null Method value is allowed.

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.1.11.Final view tag
Release date 2016-01-27
Released by Aslak Knutsen
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 6

Component Upgrade
  • ARQ-1996 - Upgrade to ShrinkWrap 1.2.3
Enhancement
  • ARQ-2010 - Report first Exception caught in TestRunner
Feature Request
  • ARQ-1954 - Support @Rule enrichement
  • ARQ-1956 - Add Instance to Before|AfterEnrichment events
Bug
  • ARQ-1937 - Class loading issue with injected deployer
  • ARQ-2009 - ServletProtocol depend on Servlet 3.0

Thanks to the following list of contributors: Aslak Knutsen, Matous Jobanek, Tomas Remes, Robert.panzer, George Gastaldi