我正在为我的项目编写 TestNG 自动化代码。在此,我应该在测试开始之前登录帐户(这适用于所有测试类)。 我是否可能创建一个仅具有 @BeforeTest 注释方法的类“BaseClass”。 我的测试类是否标识了基类。或者我可以遵循任何其他方法吗? 我选择基类的原因是我不喜欢在每个测试类中重复 @BeforeTest 方法
是的,这是可能的。我们可以有一个由所有测试类扩展的 BaseTestClass,并在 BaseTestClass 中使用 @BeforeTest 方法在扩展它的每个类中的每个测试之前运行。
public class BaseTestClass {
@BeforeClass
public void initializeTestClass() {
System.out.println("Before class");
}
}
public class TestClassA extends BaseTestClass {
@Test
public void testA() {
System.out.println("Test A");
}
}
public class TestClassB extends BaseTestClass {
@Test
public void testB() {
System.out.println("Test B");
}
}
在上面的代码中,运行包含 testClassA 和 TestClassB 的套件时的输出如下
Before Class
Test A
Before Class
Test B
尽管据我所知,这是一种不好的做法,因为当 testng 范围变大时,代码会变得更混乱。