Maven 2 supports TestNG out of the box without the need to download any additional plugins (other than TestNG itself). It is recommended that you use version 2.4 or above of the Surefire plugin (this is the case in all recent versions of Maven).
You can find the full instructions on the Maven Surefire Plugin web site. There are also TestNG-specific instructions.
<dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.8</version> <scope>test</scope> </dependency>
A sample surefire report with TestNG can be found here.
Martin Gilday has added a new archetype for Maven2: to create a project using the archetype you simply have to specify my repository and the archetype ID.
mvn archetype:create -DgroupId=org.martingilday -DartifactId=test1 -DarchetypeGroupId=org.martingilday -DarchetypeArtifactId=testng-archetype -DarchetypeVersion=1.0-SNAPSHOT -DremoteRepositories=http://www.martingilday.org/repository/
Of course substitute in your own groupId and artifactId.
Don't forget to keep checking back at Martin's blog for more updates.
The TestNG Maven plug-in is quite simple and consists of two goals and a series of optional properties.
Currently the 1.1 version of the plug-in is bundled with
official releases of TestNG. To utilize the plug-in, copy the
maven-testng-plugin-
For the latest version of the plug-in (1.2 as of 12/12/05),
update your maven.repo.remote to include http://www.vanwardtechnologies.com/repository/
and then issue the following command: maven plugin:download. Maven will issue a series of questions,
answer them as follows:
artifactId: | maven-testng-plugin |
groupId: | testng |
version: | 1.2 |
Goal | Description |
---|---|
testng | Runs TestNG |
testng:junit-report | Creates a JUnit style report |
Property | Optional? | Description |
---|---|---|
maven.testng.suitexml.name | Yes | XML file name- defaults to testng.xml |
maven.testng.suitexml.dir | Yes | Directory where XML file lives. Defaults to ${basedir}/test/conf |
maven.testng.output.dir | Yes | Default report directory. Defaults to ${maven.build.dir}/testng-output |
maven.testng.report.dir | Yes | Directory for JUnit reports. Defaults to ${maven.build.dir}/testngJunitReport |