Arquillian Core 1.1.6.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.1.6.Final release of the Arquillian Core component!

Highlights in this release

Support for JUnit 4.12+

JUnit had some internal changes that effected the Arquillian integration in 4.12. These changes should now be taken into account and JUnit 4.12+ should be working again.

Exposure of some hidden exceptions

1.1.5.Final had a few exception cases where the original exception would be masked.

  • Any exception in After would hide exception caused in Before.
  • Any InvocationTargetException thrown in container would loose it’s original cause

These issues should now be addressed.

Support for running Arquillian in a Security manager

A few fixes should allow you to run Arquillian in container when the container is under a securitry manager.

Upgraded to latest ShrinkWrap Resolver|Descriptors

We did a minor component upgrade to the latest ShrinkWrap Resolver version 2.1.1 and ShrinkWrap Descriptors version 2.0.0-alpha-6

The new ShrinkWrap Descriptors release come with support for the JavaEE 7 Descriptors.

SPI for skipping execution of single tests

A new SPI has arrived! With this SPI you can choose to programatically mark a Test method as skipped.

You simply registrer a implementation of TestExecutionDecider and return a ExecutionDecision per Test method. You can choose to return a ExecutionDecision with a Decision.DONT_EXECUTE and a reason for not executing it and the Test method will be reported as ‘skipped’ with the given reason in the test report.

public class MyTestExecutionDecider implements TestExecutionDecider {
   @Override
   public ExecutionDecision decide(Method testMethod) {
      if (magical(testMethod)) {
         return ExecutionDecision
               .dontExecute("TestMethod skipped due to ...");
      }
      return ExecutionDecision.execute();
   }

   private boolean magical(Method testMethod) {
      // magic code goes here
      return false;
   }

   @Override
   public int precedence() {
      return 0;
   }
}

Registration of the service is done the same as all other services:

public class MyLoadableExtension implements LoadableExtension {
   @Override
   public void register(ExtensionBuilder builder) {
      builder.service(TestExecutionDecider.class, MyTestExecutionDecider.class);
   }
}

The SPI can be executed on the client side or in container. Where you would want to execute it is all up to you and where you have the information to skip the test available.

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.6.Final view tag
Release date 2015-01-25
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 10

Enhancement
  • ARQ-1904 - ShrinkWrap Resolver upgrade 2.1.1
  • ARQ-1905 - ShrinkWrap Descriptors upgrade 2.0.0-alpha-6
Feature Request
  • ARQ-1896 - Make JMX objectname configurable for JMXTestRunner and JMXMethodExecutor
  • ARQ-1902 - Provide SPI for conditional execution of test methods
Bug
  • ARQ-1807 - Exceptions in JUnit After will mask exceptions that happen in Before/Test
  • ARQ-1808 - The original cause of Exception in container is lost if exception is of type InvocationTargetException
  • ARQ-1835 - JUnit 4.12-beta-1 results in UnsupportedOperationException
  • ARQ-1845 - BeforeSuite and AfterSuite events triggered for every class in Eclipse since ARQ-1803
  • ARQ-1859 - Arquillian SecurityActions fail under actual security manager
  • ARQ-1861 - ContainerDeployer should be running commands in a privileged context

Thanks to the following list of contributors: Aslak Knutsen, Stefan Miklosovic, Radoslav Husar, David M. Lloyd, Karl Pietrzak, Jorge Gonzalez, John Poth