背景:我正在使用TestNG DataProvider
要求:执行完毕后,需要从TestNG报告中删除1个测试。
我的解决方案:假设我需要从报告中删除“ XYZ”测试用例。
String testName = "XYZ";
private void removeTestFromResult(ITestContext context)
{
for (ITestNGMethod testMethodName : context.getAllTestMethods())
{
String testMethod = testMethodName.getMethodName().toLowerCase();
if (testMethod.contains(testName))
{
if (context.getPassedTests().size() > 0)
{
context.getPassedTests().removeResult(testMethodName);
}
if (context.getFailedTests().size() > 0)
{
context.getFailedTests().removeResult(testMethodName);
}
if (context.getSkippedTests().size() > 0)
{
context.getSkippedTests().removeResult(testMethodName);
}
}
}
}
在@Test批注中,可以将enabled = false设置为避免执行: