我可以有一个基本测试类只是为了在 testNG 中使用 @BeforeTest 方法吗

问题描述 投票:0回答:1

我正在为我的项目编写 TestNG 自动化代码。在此,我应该在测试开始之前登录帐户(这适用于所有测试类)。 我是否可能创建一个仅具有 @BeforeTest 注释方法的类“BaseClass”。 我的测试类是否标识了基类。或者我可以遵循任何其他方法吗? 我选择基类的原因是我不喜欢在每个测试类中重复 @BeforeTest 方法

java eclipse testng
1个回答
0
投票

是的,这是可能的。我们可以有一个由所有测试类扩展的 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 范围变大时,代码会变得更混乱。

© www.soinside.com 2019 - 2024. All rights reserved.