如何在testng中的单独Java文件中使用@BeforeTest

时间:2019-01-22 04:28:15

标签: java testng

我正在为一个项目编写自动化测试脚本。在这里,我将有许多测试类,它们将使用相同的@BeforeTest方法。我尝试通过创建基类(在测试方法之前声明的基类)并将其扩展到测试类中来进行尝试。但是它不起作用。还有其他方法可以在单独的Java文件中使用通用的beforeTest方法并将其用于我的所有测试类。

2 个答案:

答案 0 :(得分:0)

如果您使用的是PowerMockitoMockito,则可以按照以下步骤来实现。

public abstract class ParentClass{
    @Before
    public void init() {
        System.out.println("inniinii");
       }
}

@RunWith(PowerMockRunner.class)
public class ChildClass extends ParentClass{
@Test
public void test() {
    System.out.println("hello test");
      }
}

答案 1 :(得分:0)

为其他班级使用基类对我来说有效。您应根据需要使用@BeforeMethod,因为@BeforeTest用于运行testNG.xml文件的<test>标记中包含的任何@Test。

public class BaseClass {
  @BeforeMethod
  public void before() {
    System.out.println("Before method");
  }  
}

然后

public class ATestClass extends BaseClass {
  @Test
  public void testOne() {
    System.out.println("testOne run");
  }
  @Test
  public void testTwo() {
    System.out.println("testTwo run");
  }
}

给我结果

enter image description here

尝试一下!