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)

Failure scenarios


Since Arquillian is deploying an artifact to your container for you, it stands to reason that some level of module packaging problems can be validated by Arquillian. Since ShrinkWrap builds based on a programmatic structure, rather than using your Maven project's build structure, it may not be a 100 percent match for your tests compared to your real deployment. Of course, you can use some ShrinkWrap APIs to point to your already-created file and use that if you choose. This can include problems with your object definitions.

Dependency failures

Since we are handling dependency injection, we can handle failures as a result of attempting to activate beans. This does take a slightly different approach; for one, you need to ensure that you work against instances and look ups against them rather than directly injecting beans. If you're not familiar yet with the Instance object of CDI, it is a placeholder object that allows you to look up beans more dynamically–it allows you to...