Unit tests and mocks can only go so far to ensure the accuracy of your code. Eventually, you’ll need to validate that your components work inside a real runtime, a style of testing commonly referred to as integration testing. This talk showcases Arquillian, a new testing project developed by the JBoss Community that empowers the developer to write integration tests for business objects that are executed inside an embedded or remote container—whether it be a Servlet container, a Java EE application server or a local CDI environment (Weld SE).
Arquillian builds on familiar testing frameworks (JUnit and TestNG), allowing tests to be run with existing IDE, Ant and Maven test plugins, thus minimizing the burden on the developer to perform integration testing. And since the environment in which the tests are run is pluggable and easily swapped, the developer is not locked-in to a proprietary testing container.
This presentation will show how Arquillian simplifies integration testing by providing a component model for tests, just as Java EE 5 simplified server-side programming by providing declarative services for application components. The test component model consists of container lifecycle management, test enrichment (dependency injection), container deployment and in-container test execution. Using a component model means your tests are portable and able to move between different environments, from single embedded or remote to multi-server to multi-cloud nodes.
Author: Aslak Knutsen
Senior Software Engineer, JBoss
JBoss, Red Hat—Arquillian project lead Aslak Knutsen is currently a Senior Software Engineer at JBoss, by Red Hat where he is working on projects such as Arquillian, ShrinkWrap, Weld and Seam 3, one of the founders of the JBoss Testing initiative and a speaker at major industry conferences including JavaOne, Devoxx, JavaZone, Jazoon, JUDCon and JBoss World.