Running single test class or group with Surefire and TestNG

Posted by Slartibartfast on Stack Overflow See other posts from Stack Overflow or by Slartibartfast
Published on 2010-11-11T22:34:57Z Indexed on 2011/01/17 7:53 UTC
Read the original article Hit count: 251

Filed under:
|
|
|
|

I want to run single test class from command line using Maven and TestNG

Things that doesn't work:

mvn -Dtest=ClassName test

I have defined groups in pom.xml, and this class isn't in one of those groups. So it got excluded on those grounds.

mvn -Dgroups=skipped-group test
mvn -Dsurefire.groups=skipped-group test

when config is

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.7.1</version>
  <configuration>
    <groups>functest</groups>
  </configuration>
</plugin>

Parameters work fine in there are no groups defined in pom.xml.

Similarly, when surefire is configured with

<configuration>
  <includes>
    <include>**/*UnitTest.java</include>
  </includes>
</configuration> 

I can add another test with -Dtest parameter, but cannot add group. In any combination, I can narrow down tests to be executed with groups, but not expand them.

What's wrong with my configuration? Is there a way to run a single test or group outside of those defined in pom.xml?

Tried on Ubuntu 10.04 with Maven 2.2.1, TestNG 5.14.6 and Surefire 2.7.1

© Stack Overflow or respective owner

Related posts about java

Related posts about unit-testing