如何告诉Maven和TestNG运行特定的测试类或suite.xml文件?
我正在使用Maven对网站运行TestNG集成测试。 目前,我可以使用此命令来运行特定的测试类:
mvn -Dit.test="MyTestClassname" verify
我还希望能够指定一个TestNG套件XML文件来运行一堆类和特定参数。
我可以在我的POM中设置Failsafe插件来接受一个suiteXmlFiles参数,如下所示:
1 ${basedir}/src/test/resources/suites/${suiteFile} ${browser} ${environment} ${debugMode} ${caseId}
这让我发出这个命令:
mvn -DsuiteFile="MyTestSuite.xml"
但是现在我不能使用-Dit.test =“MyTestClassname”选项,因为Maven现在尝试传递一个空值作为套件名称。
有没有解决的办法? 再一次,我想要:
- 指定一个测试类(在命令行中有一堆参数)
- 指定包含一堆测试类和不同参数的testng XML文件。
我正在使用maven-surefire-plugin。 它允许我运行suitefile和类。 这是我的万无一失的插件
org.apache.maven.plugins maven-surefire-plugin 2.17 ${suiteXmlFile} ${skipTests} true
要运行suitefile,我使用
mvn test -DsuiteXmlFile=
为了运行类文件,我使用了
mvn test -Dtest=
上述方法对我不起作用。 如果您在传递${suiteXmlFile}
或其他问题时也在pom.xml上收到错误:
*ERROR*${suiteXmlFile}*ERROR*
这是一个更好的解决方案,在命令中,cd到你的pom.xml文件的位置然后在命令行上运行:
mvn test -Dsurefire.suiteXmlFiles = yourfileName(WithFullPathIfNotInRootDirectory).xml