【发布时间】:2020-02-17 13:07:34
【问题描述】:
我有一个测试方法如下,另外两个测试方法依赖于这个方法,这个方法每次都应该在这两个之前运行,而不是两个都只运行一次。
@Test(dataProvider = "requestParameterProvider", groups = "jsonRequest")
public void saveNewActivity_correctValues(Service service,
Map<String, Object> requestMap){}
@Test(dependsOnMethods = "saveNewActivity_trackRequest_correctValues", dataProvider = "responseParameterProvider")
public void commitActivity_correctValues(Service service){}
@Test(dependsOnMethods = "saveNewActivity_trackRequest_correctValues", dataProvider = "exceptionParameterProvider")
public void failActivity_correctValues(Service service, FailureReason failureReason){}
在上述情况下发生的情况是 saveNewActivity_correctValues 方法首先运行一次,然后再运行另外两个方法。但我希望在每个依赖方法之前调用第一个方法两次,然后作为单独的测试调用一次。我不能把第一个方法作为@BeforeMethod,因为它已经是一个测试并且有它自己的提供者。
【问题讨论】:
-
只需编写一个方法,并在这些测试开始时添加对它的调用
-
我想首先为这个问题寻找一个标准的方法,因为我想要一个数据提供者并且用简单的方法我不能那样但是谢谢。
-
这能回答你的问题吗? stackoverflow.com/questions/20295578/…
-
不,这些注释不采用数据提供者,也不能作为单独的测试方法工作,因此无济于事。谢谢
标签: java unit-testing testng