maven-surefire-plugin总结示例详解

 更新时间:2023年07月03日 15:12:20   作者:2021不再有雨  
这篇文章主要介绍了maven-surefire-plugin总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、插件简介

查看surefire插件的详细参数

mvn surefire:help -Ddetail=true

默认的测试类

"**/Test*.java", "**/*Test.java", "**/*Tests.java", "**/*TestCase.java"

测试报告默认的路径

${basedir}/target/surefire-reports

二、常用场景

命令行指定执行单个testCase

可以直接省略包路径

mvn test -Dtest=com.wsl.my.maven.tests.SuffixTestCase
mvn test -Dtest=SuffixTestCase

命令行指定执行单个testCase

mvn test -Dtest=SuffixTestCase,SuffixTest

直接跑测试,不跑其他前置的mvn执行周期(compile/resouce/)

 mvn surefire:test -Dtest=SuffixTestCase

命令执行指定方法

mvn test -Dtest=SuffixTestCase#base

命令执行多个方法

mvn test -Dtest=SuffixTestCase#base,base2

跳过test

仅跳过测试执行,会执行testResource和testCompile

mvn install -DskipTests

对应xml形式

 <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.1.2</version>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>

全部跳过测试相关阶段,包括testResource和testCompile和test

mvn install -Dmaven.test.skip=true

某个Test测试未通过后,忽略后续的测试不再执行

默认全部会执行,最后统计执行情况。

 <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.1.2</version>
        <configuration>
          <skipAfterFailureCount>1</skipAfterFailureCount>
        </configuration>
      </plugin>

执行和排除表达式对应的测试

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.1.2</version>
        <configuration>
          <includes>
            <include>Sample.java</include>
            <include>**/Test*.java</include>
          </includes>
          <excludes>
            <exclude>**/TestCircle.java</exclude>
            <exclude>**/TestSquare.java</exclude>
          </excludes>
        </configuration>
      </plugin>

通过正则表达式

 <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.1.2</version>
        <configuration>
          <includes>
            <include>%regex[.*(Cat|Dog).*Test.*]</include>
          </includes>
        </configuration>
      </plugin>

执行依赖包的测试

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.1.2</version>
        <configuration>
          <dependenciesToScan>
            <dependency>org.acme:project-a</dependency>
            <dependency>org.acme:project-b:test-jar</dependency>
            <dependency>org.acme:project-c:*:tests-jdk15</dependency>
          </dependenciesToScan>
        </configuration>
      </plugin>

三、结合junit4

和category一起使用

在测试类上标明category分组,然后配置只有指定的group才需要测试

<plugins>
[...]
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.1.2</version>
        <configuration>
            <groups>com.mycompany.SlowTests</groups>
        </configuration>
    </plugin>
[...]
</plugins>
  public interface SlowTests{}
  public interface SlowerTests extends SlowTests{}
public class AppTest {
      @Test
      @Category(com.mycompany.SlowTests.class)
      public void testSlow() {
        System.out.println("slow");
      }
      @Test
      @Category(com.mycompany.SlowerTests.class)
      public void testSlower() {
        System.out.println("slower");
      }
      @Test
      @Category(com.mycompany.FastTests.class)
      public void testSlow() {
        System.out.println("fast");
      }
    }

到此这篇关于maven-surefire-plugin总结的文章就介绍到这了,更多相关maven-surefire-plugin内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决SpringBoot项目启动后网页显示Please sign in的问题

    解决SpringBoot项目启动后网页显示Please sign in的问题

    这篇文章主要介绍了解决SpringBoot项目启动后网页显示Please sign in的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 详解Java中日志跟踪的简单实现

    详解Java中日志跟踪的简单实现

    MDC​(Mapped Diagnostic Context,映射调试上下文)是 log4j​ 、logback及log4j2​ 提供的一种方便在多线程条件下记录日志的功能。本文将利用MDC实现简单的日志跟踪,需要的可以参考一下
    2022-08-08
  • 模拟Ping操作的一个Java类

    模拟Ping操作的一个Java类

    这篇文章主要为大家详细介绍了一个模拟Ping操作的Java类,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 最新Java 泛型中的通配符讲解

    最新Java 泛型中的通配符讲解

    Java的泛型是伪泛型,那是因为泛型信息只存在于代码编译阶段,在生成的字节码中是不包含泛型中的类型信息的,使用泛型的时候加上类型参数,在编译器编译的时候会去掉,这个过程为类型擦除,这篇文章主要介绍了Java 泛型中的通配符,需要的朋友可以参考下
    2022-06-06
  • java Gui实现肯德基点餐收银系统

    java Gui实现肯德基点餐收银系统

    这篇文章主要为大家详细介绍了java Gui实现肯德基点餐收银系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • java自定义拦截器用法实例

    java自定义拦截器用法实例

    这篇文章主要介绍了java自定义拦截器用法,实例分析了java自定义拦截器的实现与使用技巧,需要的朋友可以参考下
    2015-06-06
  • 简单实现java数独游戏

    简单实现java数独游戏

    这篇文章主要教大家如何简单实现java数独游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Java编程WeakHashMap实例解析

    Java编程WeakHashMap实例解析

    这篇文章主要介绍了Java编程WeakHashMap实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • JAVA中对List进行查询

    JAVA中对List进行查询

    下面小编就为大家带来一篇在java List中进行模糊查询的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-08-08
  • 带你了解Java数据结构和算法之无权无向图

    带你了解Java数据结构和算法之无权无向图

    这篇文章主要为大家介绍了Java数据结构和算法之无权无向图 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01

最新评论