【问题标题】:In TestNG how to exclude some methods when running complete package在TestNG中如何在运行完整包时排除一些方法
【发布时间】:2019-04-06 15:40:54
【问题描述】:
我的 testNG.xml 文件如下所示:
<suite name="Suite-3" verbose="1">
<test name="all-packages">
<packages>
<package name=".*" />
</packages>
</test>
</suite>
它执行了这个包里的所有测试用例,但是如何排除一些写在这个包里面的一些类中的测试方法呢?
【问题讨论】:
标签:
testing
automation
automated-tests
testng
【解决方案1】:
您可以在测试方法或类上方的@Test 注解中使用“enabled = false”。
@Test(enabled = false)
public void testingA() {
System.out.println("Test Success");
}
【解决方案2】:
这将起作用:
<suite name="Suite-3" verbose="1">
<test name="all-packages">
<packages>
<package name=".*" />
</packages>
<classes>
<class name="your.package.name.Classname">
<methods>
<exclude name="methodName1"/>
<exclude name="methodName2"/>
</methods>
</class>
</classes>
</test>
</suite>
如果类位于packages 标记中显示的包之一中,它不会运行两次,但exclude 标记中的所有方法都会从中删除
【解决方案3】:
您可以使用以下方法在类中包含或排除方法:
<suite name="Sample Test Suite" verbose="1" >
<test name="Method Test Cases" >
<classes>
<class name="com.easy.entry.AddTestCase">
<methods>
<include name="addLocationTestCase" />
<include name="addDepartmentTestCase" />
<exclude name="addEmployeeTestCase" />
</methods>
</class>
</classes>
</test>
</suite>