[id=title]
= Technology Compatibility Kit Reference Guide for Jakarta Contexts and Dependency Injection
:doctype: book
:icons: font
:toc:
:toclevels: 3
:numbered:
:title-logo-image: image:cdi_logo.png[]

[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 Jakarta Contexts and Dependency Injection.

The CDI TCK is built atop TestNG framework and Arquillian platform. The CDI TCK uses Arquillian version _1.7.0.Alpha10_ 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 Jakarta Context and Dependency Injection {revnumber} 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 Jakarta EE programming model, specifically the Jakarta Enterprise Beans (EJB) 4.0 and the Jakarta Contexts and Dependency Injection {revnumber} specifications. A good resource for the Jakarta EE programming model is the link:$$http://jakarta.ee$$[Jakarta EE] web site.

The CDI TCK is based on the Jakarta Context and Dependency Injection technology specification. Information about the specification, including links to the specification documents, can be found on the link:$$https://jakarta.ee/specifications/cdi$$[CDI 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 CDI 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. 



:numbered:
:sectanchors:

include::part1.asciidoc[]

include::part2.asciidoc[]






