java - 在 Maven 中,如何将 JUnit 测试用例作为测试套件的一部分而不是单独运行?

标签 java maven unit-testing junit junit4

我有 3 个 JUnit 测试用例,它们作为测试套件的一部分运行。测试套件启动和停止这些测试类使用的嵌入式 Rabbit MQ 服务器。

@RunWith(Suite.class)
@Suite.SuiteClasses({
    TestQueueGateway.class, 
    TestRabbitMQConnectionFactory.class, 
    TestRabbitMQQueue.class
})
public class RabbitMQIntegrationTestSuite {
@BeforeClass
public static void setupRabbitMQServer() {
    //Start embedded server
}

@AfterClass
public static void _tearDownAfterClass() {
    //stop server
}
}

我可以在 Eclipse 中运行这个测试套件,并看到测试用例是正确的。然而,当我运行 Maven 构建时,3 个测试类独立运行并失败,因为它们没有所需的服务器设置。

请告诉我如何使 3 个测试类仅作为测试套件的一部分运行,而不是在 Maven 构建期间独立运行?

最佳答案

使用 maven-surefire-plugin 包含您的测试套件,

      <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <includes>
                    <include>**/RabbitMQIntegrationTestSuite.java</include>
                </includes>
            </configuration>
        </plugin>

关于java - 在 Maven 中,如何将 JUnit 测试用例作为测试套件的一部分而不是单独运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56161680/

相关文章:

java - Netbeans模块开发-如何修改打开的文件

maven - 如何在Grails应用中使用Nexus而不是Maven

任何人都可以报告使用 HWUT 进行单元测试的经验吗?

java - 如何在 JDialog 上设置 MaximumSize?

java - 子线程异常

java - 模块 "M1:M1"已经是项目 "P1"的一部分

maven - 如何在 Maven 的 java.library.path 变量中包含 native 库

java - 如何对发送电子邮件的类进行单元测试?

c++ - 如何决定为基于规则的系统创建哪些单元测试

java - 异常(exception):实体映射中的重复列:列:哈希(应使用 insert ="false"update ="false"进行映射)