Maven - "maven-surefire-plugin"的使用与跳过单元测试

简介: Maven - "maven-surefire-plugin"的使用与跳过单元测试

【1】Maven打包跳过单元测试

错误描述如下:

程序中使用junit进行测试,当启动项目的时候,控制台报错,如下图。



POM.xml:

   <!-- junit 测试 -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>


该xml配置中scope为test,也就是不参与打包。但这并不意味着项目启动时,加载class会跳过junit!当你引入的包中有junit时,项目启动同样会加载该包!这时就会出现如图所说的错误(scope为test)。


解决办法:跳过junit!插件配置如下:

   <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
    </plugin>

如果是Linux使用脚本进行打包,可以如下格式跳过单元测试:

//跳过执行单元测试
mvn install -DskipTests
//跳过编译单元测试
mvn install -Dmaven.test.skip=true

【2】maven-surefire-plugin插件使用

官网地址:https://maven.apache.org/plugins/index.html

官网描述如下:在独立的类加载器中运行JUnit单元测试。

插件详情页中详细说明了该插件使用场景并列出了实例。


这个插件在项目构建生命周期的test阶段用来执行单元测试,通常会产生两种格式的测试报告,测试报告默认路径在${basedir}/target/surefire-reports/

Plain text files (*.txt)
XML files (*.xml)


该插件其他使用实例如下图:


【3】maven-surefire-report-plugin与单元测试报告

如果想生成测试报告,则需要配置插件如下:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-report-plugin</artifactId>
  <version>3.0.0-M3</version>
</plugin>



运行单元测试则会在${basedir}/target/surefire-reports/生成两种格式的测试报告文件:



具体使用详情参看官网:https://maven.apache.org/surefire/maven-surefire-report-plugin/usage.html


20190822151821575.png

目录
相关文章
|
7月前
|
SQL Java 数据库连接
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
【1月更文挑战第2天】 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
312 3
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
|
2月前
|
Java Maven
Maven 项目测试
接下来我们要学习如何构建和测试这个项目。
48 5
|
4月前
|
Java 测试技术 Maven
单元测试问题之在Maven项目中引入JUnit 5和Mockito的依赖如何解决
单元测试问题之在Maven项目中引入JUnit 5和Mockito的依赖如何解决
250 1
|
4月前
|
前端开发 Java 测试技术
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
|
6月前
|
Java Maven
maven跳过测试清理、打包、安装
maven跳过测试清理、打包、安装
131 4
|
7月前
|
XML Java 测试技术
Maven 构建 & 项目测试
本节介绍了如何使用Maven进行Java应用的构建和测试。在`C:\MVN\consumerBanking`项目中,`pom.xml`配置了JUnit测试框架。执行`mvn clean package`命令,Maven会清理目标目录、编译源码和测试代码,运行测试,并生成`consumerBanking-1.0-SNAPSHOT.jar`。测试报告位于`surefire-reports`目录。
|
6月前
|
数据可视化 Java 持续交付
JavaWeb后端开发之Maven 2024介绍安装测试详解
JavaWeb后端开发之Maven 2024介绍安装测试详解
80 0
|
7月前
|
XML Java 测试技术
Maven 构建 & 项目测试
本文介绍了如何使用Maven构建和测试Java应用。在`C:/MVN/consumerBanking`项目中,`pom.xml`配置了JUnit作为测试框架。执行`mvn clean package`命令进行构建,Maven会清理目标目录,编译源码和测试代码,运行测试用例,最后生成`consumerBanking-1.0-SNAPSHOT.jar`。测试报告位于`surefire-reports`文件夹。添加新Java类`Util.java`到项目后,更新`App.java`以使用`Util`类。
|
7月前
|
XML Java 测试技术
Maven 构建 & 项目测试
该文介绍了如何使用Maven进行Java应用的构建与测试。在`C:/MVN/consumerBanking`项目中,`pom.xml`配置了JUnit依赖。Maven默认创建了源码和测试文件,通过命令`mvn clean package`进行构建,生成`consumerBanking-1.0-SNAPSHOT.jar`。测试报告在`surefire-reports`文件夹。新增`Util`类并更新`App`后,执行`mvn clean compile`编译,然后运行`java -cp . com.companyname.bank.App`显示&quot;Hello World!&quot;。
|
6月前
|
XML Java 测试技术
Maven 构建 & 项目测试
在本节中,我们学习了如何使用Maven构建和测试Java应用。在`C:/MVN/consumerBanking`项目中,`pom.xml`配置了JUnit为测试框架。通过命令行运行`mvn clean package`,Maven执行清理、编译、运行测试和打包成`consumerBanking-1.0-SNAPSHOT.jar`。测试报告位于`target/surefire-reports`。新增`Util.java`类后,更新`App.java`以调用它。执行`mvn clean compile`后,运行结果显示&quot;Hello World!&quot;。
下一篇
DataWorks