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

时间:2019-05-16 05:58:34

标签: 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构建期间独立运行?

1 个答案:

答案 0 :(得分:1)

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

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