Maven 来运行单元测试

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.pluginsgroupId>  
    <artifactId>maven-surefire-pluginartifactId>  
    <version>2.5version>  
    <configuration>  
        <skipTests>trueskipTests>  
    configuration>  
plugin>

方法二

mvn package -DskipTests

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

mvn package -Dmaven.test.skip=true

<plugin>  
    <groupId>org.apache.maven.plugingroupId>  
    <artifactId>maven-compiler-pluginartifactId>  
    <version>2.1version>  
    <configuration>  
        <skip>trueskip>  
    configuration>  
plugin>  
<plugin>  
    <groupId>org.apache.maven.pluginsgroupId>  
    <artifactId>maven-surefire-pluginartifactId>  
    <version>2.5version>  
    <configuration>  
        <skip>trueskip>  
    configuration>  
plugin>

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

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

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

<plugin>
    <groupId>org.apache.maven.pluginsgroupId>
    <artifactId>maven-surefire-pluginartifactId>
    <version>2.5version>
    <configuration>
        <includes>
            <include>**/*Tests.javainclude>
        includes>
    configuration>
plugin>

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

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

<plugin>
    <groupId>org.apache.maven.pluginsgroupId>
    <artifactId>maven-surefire-pluginartifactId>
    <version>2.5version>
    <configuration>
        <excludes>
            <exclude>**/*ServiceTest.javaexclude>
            <exclude>**/TemeDaoTest.javaexclude>
        excludes>
    configuration>
plugin>

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

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

整体思路–>打包测试代码—>将测试代码添加到依赖中
第一步:
显示声明插件Maven-jar-plugin
Maven 来运行单元测试_第1张图片
运行以下命令可以打包测试代码

mvn clean package

分别打包了主代码(jar)和测试代码(test-jar)。
Maven 来运行单元测试_第2张图片
在添加该依赖主代码的项目中添加测试依赖
Maven 来运行单元测试_第3张图片

你可能感兴趣的:(Maven,学习)