Edit on GitHub << back to Plugins

# TestNG Plugin

## Description

The TestNG plugin provides integration with the popular TestNG unit testing framework. This plugin provides a base `StrutsTestCase` class that can subclassed for tests that work on Struts 2 components.

> This plugin is only available with Struts 2.1.1 or later

## Features

- Base test class that starts up a full Struts 2 instance

- Great for testing how configuration is loaded and Struts 2 components are used

## Usage

First, include the plugin your POM (if using Maven 2) under the test scope:

    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-testng-plugin</artifactId>
      <version>STRUTS_2_VERSION</version>
      <scope>test</scope>
    </dependency>

If you are not using Maven 2 to build and test your code, ensure the plugin jar and its dependencies (spring-mock and testng) are in the testing classpath.

Now, your unit tests can subclass the `StrutsTestCase` class, which handles starting and stopping the Struts 2 framework:

    public class MyTest extends StrutsTestCase {
     // testing code
    }

## Settings

This plugin doesn’t support any global settings.

## Installation

This plugin is meant to be used during unit testing, and not during runtime. Therefore, include it in your build’s classpath, but do not deploy it to `WEB-INF/lib` in your Struts 2 application.