删除了 TestNG @BeforeMethod onlyForGroups 选项

TestNG @BeforeMethod onlyForGroups option removed

我一直在寻找一些方法来让一些 @beforeMethod 逻辑只对一组 java 单元测试(使用 TestNG )执行。 我在 TestNG 文档中找到:

onlyForGroups: Only for @BeforeMethod and @AfterMethod. If specified, then this setup/teardown method will only be invoked if the corresponding test method belongs to one of the listed groups.

这似乎是我要找的东西。

但是当我尝试使用它时,它并没有在@BeforeMethod 和@AfterMethod 注释中实现。我在网上找不到任何关于它丢失的信息。

Maven 依赖:

         <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.2</version>
            <scope>test</scope>
        </dependency>

感谢您的帮助

升级您的版本,如您在 Changes 中所见,它是在 6.14.3 版本

之后添加的

Fixed: GITHUB-549 and GITHUB-780: Introduce onlyForGroups attribute for @BeforeMethod and @AfterMethod (Sergei Tachenov)

注意依赖项中使用的 TestNG 版本。

<dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.4.0</version>
            <scope>test</scope>
        </dependency>
</dependencies>

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class TestNgBeforeMethodAnnotation {

    @BeforeMethod(onlyForGroups = {"Group1"}, groups = {"Group1"})
    public void setupForGroup1()
    {
        System.out.println("Before Method for Group 1 called");
    }

    @Test(groups = {"Group1"})
    public void testCaseInGroup1()
    {
        System.out.println("testCaseInGroup1");
    }

}