testng - TestNG - 可以在测试执行报告中忽略数据提供者测试方法吗?
问题描述
我正在使用 dataProvider 方法并使用此 dataprovider 形成一个 URL,并且应该将此形成的 URL 传递给下一个 dataprovider 。在 TestNG - 测试执行报告中可以忽略这个数据提供者测试方法吗?
在 TestNG - 测试执行报告中应该忽略第一个 DataProvider A
@Test(dataprovider = "A")
public void getURL(String URL){
finalURL = URL +apiURL;
}
@Test(dataprovider ="B")
public void getStatus(){
closeableHttpResponse = restClient.get(finalURL, headerFormation());
}
解决方案
没有开箱即用的方法来做到这一点。数据驱动的测试方法也是一种@Test
方法。TestNG 不会将它们与常规测试方法区分开来。
所以TestNG中的默认报告没有这个能力。
您可以改为执行以下操作:
- 确保您使用的是 TestNG
7.0.0-beta1
(截至今天的最新发布版本) - 实现
org.testng.IReporter
(testng 的报告监听器)。 - 对于每个
ITestResult
对象,只需检查其是否为数据驱动方法(您可以通过检查result.getMethod().isDataDriven()
并检查其是否为真来做到这一点) - 如果 (3) 是
false
您为它构建报告,如果 (3) 是true
跳过报告测试方法的结果。
推荐阅读
- svn - 验证失败时 svnadmin verify 的退出代码是否为 1?
- r - 如何变异() - 警告信息
- python - 错误语法错误:解析时出现意外 EOF
- firebase - AngularFirebase 事务和批量写入?
- javascript - 使用 Hooks 通过 Router Link 传递 props
- javascript - “左连接” 0 - 100 个百分位数到 javascript 中的统计值
- javascript - 如何根据参数类型判断函数类型
- javascript - Express App 的 CRUD 操作协助
- javascript - 如何从 javascript 函数调用 vue 方法?
- sql - 插入后创建触发器以打印语句的问题