TestNG Maven plug-ins¶
Maven 2¶
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.
Specifying your pom.xml The dependency in your project should look like the following:
<dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.8</version> <scope>test</scope> </dependency>
Sample Report¶
A sample surefire report with TestNG can be found here.
Maven TestNG Archetype (Martin Gilday)¶
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.
Maven 1 (by Andrew Glover)¶
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-<version>.jar to the $MAVEN_HOME/plugins directory.
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 |
Goals¶
Goal | Description |
---|---|
testng | Runs TestNG |
testng:junit-report | Creates a JUnit style report |
Properties¶
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 |