📜  maven 运行测试 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:02:54.767000             🧑  作者: Mango

Maven 运行测试 - Shell/Bash

简介

Maven是一个开源的项目管理工具,可以帮助管理项目的构建、依赖、测试、文档等工作。在Maven中,我们可以使用插件来运行测试,如surefire插件、failsafe插件。本文将介绍如何在Shell/Bash中使用Maven运行测试。

前置条件

在运行测试之前,我们需要确保Maven已经正确安装,并且项目中已经包含了测试代码和测试框架。可以使用以下命令检查Maven是否已经安装:

mvn -version

如果Maven已经正确安装,你将看到Maven版本和Java版本信息的输出。

运行测试

在Shell/Bash中运行测试非常简单,只需要在项目的根目录下使用以下命令:

mvn test

这个命令将会编译项目,并运行所有的测试。测试结果将输出到控制台中。

如果你想要运行指定的测试类或者指定的测试方法,可以使用以下命令:

mvn -Dtest=TestClass#testMethod test

其中,TestClass是测试类的名称,testMethod是测试方法的名称。

使用surefire插件

surefire插件是Maven自带的测试插件,可以用来运行单元测试。如果你需要对测试进行配置,可以在项目的pom.xml文件中添加以下配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M5</version>
            <configuration>
                <!-- 测试类文件存放目录 -->
                <testSourceDirectory>src/test/java</testSourceDirectory>
                <!--测试报告存储目录 -->
                <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
                <!-- 测试通用参数 -->
                <systemProperties>
                    <property>
                        <name>propertyName</name>
                        <value>propertyValue</value>
                    </property>
                </systemProperties>
                <!-- 测试类过滤器 -->
                <includes>
                    <include>**/*Test.java</include>
                </includes>
            </configuration>
        </plugin>
    </plugins>
</build>

然后使用以下命令运行测试:

mvn surefire:test
使用failsafe插件

failsafe插件是Maven自带的集成测试插件,可以用来运行集成测试。如果你需要对测试进行配置,可以在项目的pom.xml文件中添加以下配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>3.0.0-M5</version>
            <configuration>
                <!-- 测试类文件存放目录 -->
                <testSourceDirectory>src/test/java</testSourceDirectory>
                <!-- 测试报告存储目录 -->
                <reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory>
                <!-- 测试通用参数 -->
                <systemProperties>
                    <property>
                        <name>propertyName</name>
                        <value>propertyValue</value>
                    </property>
                </systemProperties>
                <!-- 测试类过滤器 -->
                <includes>
                    <include>**/*IT.java</include>
                </includes>
                <!-- 重复测试次数 -->
                <rerunFailingTestsCount>2</rerunFailingTestsCount>
            </configuration>
            <executions>
                <execution>
                    <!--在verify阶段运行-->
                    <id>failsafe-integration-tests</id>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

然后使用以下命令运行测试:

mvn failsafe:integration-test
结论

使用Maven运行测试非常方便,我们可以使用surefire插件来运行单元测试,也可以使用failsafe插件来运行集成测试。通过在pom.xml文件中的插件配置,我们可以对测试进行更加灵活的管理。