Arquillian Google Guice Extension 1.0.0.Alpha2 Released
The Arquillian team is proud to announce the 1.0.0.Alpha2 release of the Arquillian Google Guice Extension component!
Some of the highlights in this release
- Servlet integration
This release bring one new cool feature, integration with the Guice Servlet extension
The whole integration requires only two simple steps to make the test use the web configured Guice injector.
The first step is to replace the GuiceFilter
with the ArquillianGuiceFilter
:
<filter> <filter-name>guiceFilter</filter-name> <filter-class>org.jboss.arquillian.guice.api.servlet.ArquillianGuiceFilter</filter-class> </filter>
<filter-mapping> <filter-name>guiceFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
This can also be done at runtime; by doing a simple string replacement in the web descriptor when creating the deployment or by using ShrinkWrap Descriptors
.
The second step is to annotate your test with @GuiceWebConfiguration
. This will instruct the extension to retrieve the injector from the servlet context.
Example test:
@GuiceWebConfiguration @RunWith(Arquillian.class) public class WebInjectorTestCase {
@Deployment public static Archive createTestArchive() { return ShrinkWrap.create(WebArchive.class, "guice-test.war") .addClasses(Employee.class, EmployeeService.class, DefaultEmployeeService.class, EmployeeRepository.class, DefaultEmployeeRepository.class, EmployeeModule.class, EmployeeModuleContextListener.class) .addAsWebInfResource("WEB-INF/web.xml", "web.xml"); }
@Inject private EmployeeService employeeService;
@Test public void testGetEmployees() {
List<Employee> result = employeeService.getEmployees();
assertNotNull("Method returned null list as result.", result); assertEquals("Two employees were expected.", 2, result.size()); } }
The test can go beyond a simple example like this and allow for injection of other resources like Guice configured servlets, filters and listeners.
We look forward to hearing your feedback about this release in the community forums!
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 Google Guice Extension |
---|---|
Version | 1.0.0.Alpha2 view tag |
Release date | 2013-08-01 |
Released by | Aslak Knutsen |
Compiled against |
Published artifacts org.jboss.arquillian.extension
- org.jboss.arquillian.extension » arquillian-guice-api jar javadoc pom
- org.jboss.arquillian.extension » arquillian-guice-impl jar javadoc pom
- org.jboss.arquillian.extension » arquillian-guice-bom pom
- org.jboss.arquillian.extension » arquillian-guice-int-tests jar javadoc pom
Release notes and resolved issues 3
- Feature Request
-
- ARQ-1447 - Inject Injector created through GuiceFilter.
- Bug
-
- ARQ-1439 - NoClassDefFoundError for MavenDependencyResolver when using Google Guice Extension
Thanks to the following list of contributors: Jakub Narloch, Aslak Knutsen