我使用不同的输入进行测试,因此使用@DataProvider
但在输入之前,从Object[][]
传递给测试,我想创建一些通用的所有数据来测试所有不同的输入
@DataProvider(name = "test")
public Object[][] createData() {
//create some data which is common for both john and bob
return new Object[][] { { "john" }, { "bob" } };
}
@Test(dataProvider = "test")
public void userOp(String name) {
//Perform some operations with user mention in `name`. For now let's just print the names
System.out.println(name);
}
一旦所有测试,运行不同的输入(即john和bob),我想删除我在数据提供者方法中创建的数据。
注意我可以使用@AfterClass
来删除这些数据但是这可能会破坏我在测试类中的其他测试,因此我想删除数据,一旦我完成测试,是它的创建。
有人可以建议如何实现这一目标吗?
答案 0 :(得分:1)
使用@AfterMethod
参数声明ITestResult
。在ITestResul
中,您可以找到测试方法中使用的确切参数并删除相关数据。在@AfterClass
中只删除您的常用数据。