java - Maven surefire 插件没有为 testng 选择组选项

标签 java maven testng maven-surefire-plugin

我有一个带有以下注释的 testng 案例 -

@Test(groups="groupA", dataProvider="DataSet1")

但是当我触发以下 maven 命令时,它不会执行测试 -

mvn test -Dgroups=groupA

我在控制台中看到的是这个 -

...
...
[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ abc-proj ---

-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.733 sec -      in TestSuite

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

但是当我简单地运行 mvn test 时,它会执行测试。不知道为什么它会这样。我正在使用 Surefire 插件版本 2.19.1 和 testng 版本 6.9.9。任何帮助将不胜感激。

编辑 我没有使用 testng.xml,只是出于好奇,我在一个小项目中尝试了同样的事情 -> 它有效。在那个项目中,我创建了一个示例类 -

import org.testng.annotations.Test;

public class SampleTest {

    @Test(groups = "groupA")
    public void testA() {
        System.out.println("Inside A");
    }

    @Test(groups = "groupB")
    public void testB() {
        System.out.println("Inside B");
    }

}

pom.xml 是 -

... 
<properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.9.9</version>
        </dependency>
    </dependencies>
</project>

这里命令 mvn test -Dgroups=groupA 工作正常!

EDIT2 当我删除 dataProvider 注释时,我注意到一些不同的结果,控制台现在显示 -

测试运行:1,失败:0,错误:0,跳过:1

最佳答案

您可能需要将测试分组到 surefire 配置中才能做到这一点:-

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
      <groups>ABC,XYZ</groups>
    </configuration>
</plugin>

然后执行

mvn test -Dgroups=ABC

关于java - Maven surefire 插件没有为 testng 选择组选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46925103/

相关文章:

java - 将 java war 部署到 heroku,pom.xml 错误

java - Maven 未下载库(netbeans)

java - Jenkins 似乎无法构建 java Artifact 。更多信息包含在 github gist [Pastebin] 中

maven - 我可以通过 Maven 运行特定的 testng 测试组吗?

java - 如何让其他测试用例等待一段时间,直到测试用例在 TestNG 并行执行中执行操作

java - com.mysql.jdbc.PacketTooBigException : Packet for query is too large even with Packet for query is too large even with max_allowed_packet

java - 在 tomcat 实时生产服务器上重新部署 war

java - 我无法连接到数据库 - 程序不知道 JAR 文件在哪里

java - 如何在 JTextPane 中打开具有另一个扩展名的 HTML 文件

gradle - gradle测试运行主类