java - 如何使用 TestNG 仅在特定测试用例之前运行特定方法?

标签 java unit-testing selenium automated-tests testng

在我的测试类中,假设我有 15 个测试用例。在 15 个测试用例中,我只需要 5 个测试用例的通用测试数据。因此,我想编写一个方法来创建测试数据,但该方法将在这 5 个测试中的任何一个运行之前执行。

我知道 @BeforClass - 它将在类中的任何测试运行之前运行,而 @BeforeMethod - 它将在类中的每个测试之前运行。

我不想使用 @BeforeClass 为 15 个测试用例中的 5 个创建测试数据,因为如果我想调试不属于这 5 个测试用例的测试,它仍然会创建数据,这不是我当前测试所必需的,它也会增加执行时间。

TestNG 有什么办法,我可以在执行某些测试之前运行特定的方法(不使用 testng.xml)

最佳答案

TestNG 只提供对其他测试方法的依赖。这使一个方法成为测试方法。

要归档您需要的内容,您可以这样做:

@Test
void testMethod(){
     //this is your test method
     beforemethod();
}

//your before method for you test-case
void beforemethod(){
}

希望这能解决您的问题

关于java - 如何使用 TestNG 仅在特定测试用例之前运行特定方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44254823/

相关文章:

java - 在 Java 中实现 RSA-SHA1 签名算法(创建用于 OAuth RSA-SHA1 签名的私钥)

java - 如何在 Java 中使用字符的 equals() 方法?

unit-testing - 白盒/黑盒测试 : static or dynamic?

java - 需要比较两个 ArrayList,但不断遇到异常,因为其中一个正在水平打印

Python、 Selenium : Isolate Item From Returned List

java - "user.dir"和 "."有什么区别?

当 Wifi 连接丢失时,java.io.InputStream 不会抛出 IOException

node.js - 单元测试 - 与 supertest 开 Jest 会超时

django - 如何针对测试数据库运行 Selenium 测试?

java - Selenium findElements()/findElement(by class) 返回 null