= Technology Compatibility Kit Reference Guide for JSR 365:{nbsp}Contexts and Dependency Injection for Java 2.0

[preface]
= Preface
This guide describes how to download, install, configure, and run the
Technology Compatibility Kit (TCK) used to verify the compatibility of an
implementation of the JSR 365:{nbsp}Contexts and Dependency Injection for Java 2.0.

The CDI TCK is built atop TestNG framework and Arquillian platform. The CDI TCK uses 
the Arquillian version _1.1.11.Final_ to execute the test suite.

The CDI TCK is provided under link:$$http://www.apache.org/licenses/LICENSE-2.0$$[Apache Public License 2.0].

=== Who Should Use This Book

This guide is for implementors of the Context and Dependency Injection for Java 2.0 technology to assist in running the test suite that verifies the compatibility of their implementation.


=== Before You Read This Book

Before reading this guide, you should familiarize yourself with the Java EE programming model, specifically the Enterprise JavaBeans (EJB) 3.1 and the Contexts and Dependency Injection for Java 2.0 specifications. A good resource for the Java EE programming model is the link:$$http://jcp.org$$[JCP] web site.

The CDI TCK is based on the Context and Dependency Injection for Java 2.0 technology specification (JSR 365). Information about the specification, including links to the specification documents, can be found on the link:$$https://www.jcp.org/en/jsr/detail?id=365$$[JSR 365 JCP page].

Before running the tests in the CDI TCK, read and become familiar with the Arquillian testing platform. A good starting point could be  a series of link:$$http://arquillian.org/guides/$$[Arquillian Guides]. 


=== How This Book Is Organized

If you are running the CDI TCK for the first time, read <<introduction>> completely for the necessary background information about the TCK.  Once you have reviewed that material, perform the steps outlined in the remaining chapters. 


*  <<introduction>> gives an overview of the principles that apply generally to all Technology Compatibility Kits (TCKs), outlines the appeals process and describes the CDI TCK architecture and components. It also includes a broad overview of how the TCK is executed and lists the platforms on which the TCK has been tested and verified. 


*  <<appeals-process>> explains the process to be followed by an implementor, who wish to challenge any test in the TCK. 


*  <<installation>> explains where to obtain the required software for the CDI TCK and how to install it. It covers both the primary TCK components as well as tools useful for troubleshooting tests. 


*  <<configuration>> details the configuration of the JBoss Test Harness, how to create a TCK runner for the TCK test suite and the mechanics of how an in-container test is conducted. 


*  <<reporting>> explains the test reports that are generated by the TCK test suite and introduces the TCK audit report as a tool for measuring the completeness of the TCK in testing the JSR 365 specification and in understanding how testcases relate to the specification.


*  <<executing>> documents how the TCK test suite is executed. It covers both modes supported by the TCK, standalone and in-container, and shows how to dump the generated test artifacts to disk. 


*  <<eclipse-running>> shows how to run individual tests in Eclipse and advises the best way to setup your Eclipse workspace for running the tests. 


*  <<eclipse-debugging>>  builds on <<eclipse-running>> by detailing how to debug individual tests in Eclipse.


:numbered:
:sectanchors:

include::part1.asciidoc[]

include::part2.asciidoc[]






