如何解决即使数据提供程序的一种方法失败,也不应跳过 TestNG 依赖方法
假设我们在 TestNG 中有 2 个带有 dataprovider 的方法。
@Test(dataProvider = dpA)
testA(String str){
logger.info(str);
}
@Test(dataProvider = dpB,dependsOnMethods = {"testA"})
testB(String str){
logger.info(str);
}
@DataProvider(name = "dpA")
public Object[][] dpA(){
return new Object[][] { { "This test fails"},{"This test passes"} };
}
@DataProvider(name = "dpB")
public Object[][] dpB(){
return new Object[][] { { "new test"},{"some test"} };
}
鉴于: testB
应该只在 testA
之后执行,这就是我们使用 dependsOnMethods
的原因。
当前场景:即使来自数据提供者的任何案例失败,TestNG 也会跳过 testB
。
目标: testB
应在来自数据提供者的任何一个案例通过时运行。
解决方法
目前 Select mandt,nf_id,exercicio,num_tit,empresa,filial,ind_emit,desc_tit,ind_tit,sum(qtd_parc)qtd_parc,sum(vl_tit)vl_tit
from MyTable
group by mandt,ind_tit
是一个硬依赖,即必须完全满足它才能执行依赖方法。
| FirstName | LastName | NoOfHours | Total |
| -------- | -------- |-----------|--------|
| Chloe | Wang | 18 |$70 |
| May | Chan | 29 |$110 |
驱动的 dependsOnMethods
方法基本上只是多次运行相同 @DataProvider
的一种方式(当然使用多组数据而不是使用相同的数据当您设置 @Test
方法的 @Test
属性时发生)。
因此,在当前的 TestNG 中,如果不考虑测试结果等,并导致无法解释的行为,就无法实现这一点。
如果这是您希望在 TestNG 中看到的内容,那么我建议您将其作为缺陷提交到 TestNG 问题页面中,并在 https://github.com/cbeust/testng/issues
中开始对此进行讨论版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。