Reducing Java enterprise testing to child's play
This talk unveils the missing link in enterprise Java development: simple, portable integration tests. For many, working in enterprise Java has long been an arduous undertaking because of this void. While development life is simple with unit tests and mocks, they only take you so far. Eventually, you need to validate how your components interact and operate in their intended environment–you real need integration tests. Yet, writing integration tests has meant assuming the burden of bootstrapping all or part of your infrastructure. That's time lost and it places a mental barrier on testing. Arquillian and ShrinkWrap, two new projects from the JBoss Community, partner to tear down this barrier and reduce Java enterprise testing to child's play. Come experience how.
Arquillian, a container-oriented testing framework layered atop TestNG and JUnit, brings your test to the runtime rather than requiring you to manage the runtime from your test. Picking up where unit tests leave off, Arquillian enables you to test real components that rely on real enterprise services in a real runtime.
We'll look at how the fluent API provided by ShrinkWrap is used to package a test archive, giving developers fine-grained control over which resources are available to be tested. We'll show examples of how the test archive is deployed and executed inside standalone, embedded and remote containers. You'll witness how RPC-style (or local, if applicable) communication between the test runner and the environment negotiates which tests are executed and reports back the results. You'll walk away confident that
- you can write integration tests just as you would a unit test and
- the test is portable to multiple environments (containers).
What’s the secret? This talk reveals 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.
Attend this talk to learn about the future of Java enterprise testing.
About Dan Allen
Dan is an open source advocate, community catalyst, software generalist, author and speaker. Most of the time, he's hacking using some JVM language. He leads the Asciidoctor project and serves as the community liaison for Arquillian. He builds on these experiences to help make a variety of open source projects wildly successful, including Asciidoctor, Arquillian, Opal and JBoss Forge.
Dan is the author of Seam in Action (Manning, 2008) and has written articles for NFJS, the Magazine, IBM developerWorks, Java Tech Journal and JAXenter. He's also an internationally recognized speaker, having presented at major software conferences including JavaOne, Devoxx, NFJS, UberConf, RWX, JAX and jFokus. He's recognized as a JavaOne Rock Star and Java (JVM) Champion.
After a long conference day, you'll likely find Dan geeking out about technology, documentation and testing with fellow community members over a Trappist beer or Kentucky Bourbon.
More About Dan »