2016-08-04 47 views
1

我希望能够使用maven从我的testng套件运行特定的测试类。我的测试类依赖于来自testngsuite.xml文件的参数。我可以运行mvn test -DsuiteXmlFile=mysuite.xmlmvn test -Dtest=sometest。有什么方法可以将这两个结合起来?如何告诉Maven和TestNG运行特定的测试类和suite.xml文件?

此链接显示如何做其中一个,但不是两个。 How do I tell Maven and TestNG to run either a specific test class or a suite.xml file?

+0

'MVN测试-DsuiteXmlFile = mysuite.xml -Dtest =运行sometest'? – Tunaki

+0

对不起,我应该更具体。 '-Dtest = sometest'会覆盖'-DsuiteXmlFile',所以套件不会最终运行。 – danmitch

回答

1

套件文件用于定义测试运行。

这意味着如果您只需要一次测试,只需编写一个专用套件文件。

+0

有没有办法从套件文件运行特定的方法?例如,如果某个特定的测试失败,并且您想重新运行该方法。 – danmitch

+0

您可以使用适当的套件运行特定的方法:http://testng.org/doc/documentation-main.html#testng-xml和/或您可以重新运行失败的测试:http://testng.org/doc/ documentation-main.html#rerunning – juherr

+0

感谢失败的测试xml正是我所需要的。 – danmitch

0

您可以添加到您的tesngsuite.xml如下:

<test name="my_test_name"> 
    <classes> 
     <class name="packageName.ClassName" /> 
    </classes> 
</test> 

,然后运行Maven的形式使用MVN测试-DsuiteXmlFile = testngsuite.xmltestngsuite.xml。 或者,如果您想将保留原来的testngsuite.xml你可以创建一个副本,并进行修改那里和从Maven的你testngsuite2.xml

相关问题