小编los*_*ion的帖子

在TestNG中参数化@BeforeMethod方法

我的测试有一个基础测试类,该类在每次测试之前都会进行初始化工作。

这是代码

public class BaseTestParameters {

  MyObj myObj;

  @DataProvider(name = "apiType")   
  public static Object[][] createData() {

     return new Object[][] {{"type", "1"},{"type","2"}};   
  } 

  @BeforeMethod()   
  @Factory(dataProvider = "apiType")   
  public void setup(String type,String param) throws Exception {

     myObj = createMyObject(param);

  }
}
Run Code Online (Sandbox Code Playgroud)

我所有的测试类都扩展了该基类,并使用myObj进行测试。

myObj有两种不同的创建方式(取决于参数)。所有测试将运行两次。每种构成的一种myObj

如何启用此方案?使用@Factory注释意味着我需要Object[]从该方法中返回,但是我不必从该方法中返回任何测试类。

java testng parameterized-tests testng-dataprovider

4
推荐指数
1
解决办法
183
查看次数