Maven 来运行单元测试

版权声明:转载请申明出处,谢谢 https://blog.csdn.net/qq_35495763/article/details/88077206

Update Time :2019-3-2 Author:要你名三千又三千 type:学习笔记

背景

Maven的重要职责之一就是自动运行单元测试。主要通过maven-surefire-plugin来进行。
Maven本身不是一个单元测试框架,Java世界中主流的单元测试框为JUnit和TestNG.
Maven所做的只是在构建执行到特定生命周期的阶段的时候。通过插件来执行JUnit或者TestNG的测试用例。

如何通过这一插件来调用测试框架

Maven-surefire-plugin 是一内置的绑定jar

maven-surefire-plugin插件可以不配置,如果又特殊版本(明确使用那个版本)可以配置。

在默认情况下,maven-surefire-plugin会自动执行测试源码路径下所有符合一组命名模式的测试类。
在这里插入图片描述
说明
在这里插入图片描述

问题:如何跳过测试

问题情形:在一些不需要运行测试的情况下,可以跳过测试。
关键字:跳过测试
方法一
配置pom中的值

<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-surefire-plugin</artifactId>  
    <version>2.5</version>  
    <configuration>  
        <skipTests>true</skipTests>  <!--可以跳过测试-->
    </configuration>  
</plugin>

方法二

mvn package -DskipTests

问题:跳过测试代码的编译,同时跳过测试

mvn package -Dmaven.test.skip=true

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

问题:如何指定运行某一个测试用例

问题情形:在某些情况下,测试可能只需要测试特定的一个
在这里插入图片描述
指定只运行两个测试用例
在这里插入图片描述

包含和排除某些测试用例
实现方式

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

上述代码清单中使用了** /*Tests.java 来匹配所有以Tests结尾的Java类,两个星号用来匹配任意路径,一个星号*匹配除路径风格符外的0个或者多个字符。

问题:如何排除某些测试类

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.5</version>
    <configuration>
        <excludes>
            <exclude>**/*ServiceTest.java</exclude>
            <exclude>**/TemeDaoTest.java</exclude>
        </excludes>
    </configuration>
</plugin><!--在这个测试插件的域内,使用configuration参数提供参数-->

测试报告
在这里插入图片描述

问题:如何重用测试代码?

整体思路–>打包测试代码—>将测试代码添加到依赖中
第一步:
显示声明插件Maven-jar-plugin
在这里插入图片描述
运行以下命令可以打包测试代码

mvn clean package

分别打包了主代码(jar)和测试代码(test-jar)。
在这里插入图片描述
在添加该依赖主代码的项目中添加测试依赖
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_35495763/article/details/88077206