Book Image

Arquillian Testing Guide

By : John D. Ament
Book Image

Arquillian Testing Guide

By: John D. Ament

Overview of this book

<p>Integration testing sometimes involves writing complex codes. This book introduces you to the capabilities of Arquillian to enable you to write simple code with a broad range of integration tests for java applications. <br /><br />Arquillian Testing Guide serves as an introductory book to writing simple codes for testing java applications. This book will help you to develop richer test cases which can be run automatically while performing rigorous testing of the software. <br /><br />Arquillian Testing Guide introduces you to Arquillians features and capabilities. This book will help you understand the mechanism of creating deployments and test against those deployments. The book begins with basic JUnit test cases beginning with an enterprise test case, which then go on to discuss remote testing. During the course of the book, you will also learn how to mix container and non-container tests into a single test case. By the end of the book, you will have learned how to extend JUnit tests to work with Arquillian and deploy them to a container automatically.</p>
Table of Contents (17 chapters)

Testing the dependency injection


One of the important things to realize when building Arquillian test cases is that your test cases are essentially components within the application server. Arquillian will process the injection points in your code. This goes against the typical runtime of JUnit or TestNG, where the test case operates by itself. You have the container; it's the gift that Arquillian has given you.

This is one of the reasons I strive hard to point out that Arquillian isn't necessarily unit testing, but you're likely performing functional tests, integration tests, or acceptance tests. Your unit tests may rely on being run in a standard JUnit fashion, whereas your testing in Arquillian may require a different setup.

Arquillian by default provides three injection points to your test case, assuming that you are running with a container that supports them:

  • @Inject: As long as you are running with the CDI implementation and your deployment is a valid bean archive, you will have CDI...