TestNG:是否可以在AfterTest()、AfterClass()和AfterMethod()中使用DataPro



我正在编写一些测试,其中我正在为@test使用DataProvider,现在创建一些东西作为cleanup/teardown((步骤。我想在@After方法中删除这些东西,我如何在AfterTest((、AfterClass((和AfterMethod((中使用DataProvide?

这是可能的。例如,TestNg可以向@AfterMethod注入相同的对象。参见以下示例:

@DataProvider(name = "test")
public Object[][] testDataProvide(){
return new Object[][]{
{"11", "12"},
{"21", "22"}
};
}
@Test(dataProvider = "test")
public void testDP(String one, String two){
System.out.println(String.join(",", one, two));
}
@AfterMethod
public void tearDownEach(Object[] args){
System.out.println("Tearing down: " + String.join(",", args[0].toString(), args[1].toString()));
}

p.S.-AfterTest()AfterClass()没有这种方式,因为它们在一系列测试完成后运行,这对于用于向每个单个测试提供数据的数据提供程序来说是没有意义的。

最新更新