Maven跳过测试

参考

http://maven.apache.org/plugins/maven-resources-plugin/testResources-mojo.html

http://maven.apache.org/plugins/maven-compiler-plugin/testCompile-mojo.html

http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html

boolean - Set this to "true" to bypass unit tests entirely. Its use is NOT RECOMMENDED, especially if you enable it using the "maven.test.skip" property, because maven.test.skip disables both running the tests and compiling the tests. Consider using the skipTests parameter instead. Default value is: false. User property is: maven.test.skip.
boolean 2.4 Set this to "true" to skip running tests, but still compile them. Its use is NOT RECOMMENDED, but quite convenient on occasion. Failsafe plugin deprecated the parameter skipTests and the parameter will be removed in Failsafe 3.0.0 as it is a source of conflicts between Failsafe and Surefire plugin. Default value is: false. User property is: skipTests.

环境

E:\mozq\demo_project\shiro>mvn -v
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
Maven home: D:\tools\maven\apache-maven-3.6.1\bin\..
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: D:\tools\jdk\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

案例一 跳过运行测试和编译测试

配置

<maven.test.skip>true</maven.test.skip> 跳过运行测试,测试资源,测试代码编译

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<!--
这个属性被3个插件使用,跳过testResources,testCompile,test。不处理测试,会快一点。
maven-resources-plugin:3.1.0:testResources
maven-compiler-plugin:3.8.1:testCompile
maven-surefire-plugin:2.22.2:test
-->
<maven.test.skip>true</maven.test.skip>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

运行结果

[INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ http_01 ---
[INFO] Not copying test resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ http_01 ---
[INFO] Not compiling test sources
[INFO]
[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ http_01 ---
[INFO] Tests are skipped.

案例二 只跳过运行测试

配置

<skipTests>true</skipTests> 只跳过运行测试,不跳过测试资源和测试代码编译。

<properties>
<skipTests>true</skipTests>
<!--<maven.test.skip>true</maven.test.skip>-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>6</maven.compiler.source>
<maven.compiler.target>6</maven.compiler.target>
<spring.version>4.3.2.RELEASE</spring.version>
<mybatis.version>3.2.6</mybatis.version>
</properties>
<build>
<!-- 资源文件 -->
<resources>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources> <!-- 插件jetty tomcat -->
<plugins>
<!-- 配置jetty运行方式 -->
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.0.M2</version>
<configuration>
<webAppConfig>
<contextPath>/xinhekqsys</contextPath>
</webAppConfig>
<httpConnector>
<port>8081</port>
<idleTimeout>10000</idleTimeout>
</httpConnector>
</configuration>
</plugin> <!-- maven项目在tomcat下运行的配制文件 -->
<!-- 配置tomcat运行方式 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!-- 注意tomcat7此处的url -->
<url>http://localhost:8080/manager/text</url>
<!-- 此处的名字必须和setting.xml中配置的ID一致 -->
<server>tomcat</server>
<!-- 此处的名字是项目发布的工程名 -->
<path>/xinhekqsys</path>
</configuration>
</plugin>
<!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId>
<version>2.4</version> <configuration> <webResources> <resource> <directory>src/main/webapp/WEB-INF</directory>
</resource> </webResources> </configuration> </plugin> --> <plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId>
<version>2.4</version> <configuration> <webResources> <resource> <directory>src/main/webapp/WEB-INF</directory>
<directory>src/main/webapp</directory> </resource> </webResources> </configuration>
</plugin> -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>${project.build.sourceEncoding}</encoding>
<compilerArguments>
<verbose /> <bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin> </plugins>
<!-- 最终项目打包包名 -->
<finalName>handordering</finalName>
</build>

运行结果

<skipTests>true</skipTests>
# 没有跳过测试资源
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ handordering ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory E:\mozq\02 project\handordering\src\test\resources
[INFO]
# 没有跳过测试代码编译
[INFO] --- maven-compiler-plugin:3.6.0:testCompile (default-testCompile) @ handordering ---
[INFO] No sources to compile
[INFO]
# 跳过了运行测试
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ handordering ---
[INFO] Tests are skipped.
<maven.test.skip>true</maven.test.skip>
# 跳过了测试资源
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ handordering ---
[INFO] Not copying test resources
[INFO]
# 跳过了测试代码编译
[INFO] --- maven-compiler-plugin:3.6.0:testCompile (default-testCompile) @ handordering ---
[INFO] Not compiling test sources
[INFO] No sources to compile
[INFO]
# 跳过了运行测试
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ handordering ---
[INFO] Tests are skipped.

案例三 插件中配置跳过

插件和用户属性中同时对是否跳过测试进行配置,会以插件中为准。但是当跳过了测试资源和测试代码编译,又设置不跳过运行测试没有意义,因为此时不会生成测试代码。

配置

<properties>
<!-- 配置了跳过测试用户属性 -->
<maven.test.skip>true</maven.test.skip>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<!-- 插件中配置不跳过运行测试,以插件中配置为准。
当跳过了测试资源和测试代码编译,又设置不跳过运行测试没有意义,因为此时不会有测试代码来运行。
-->
<configuration>
<skip>false</skip>
</configuration>
</plugin>
</plugins>
</build>

运行结果

# 跳过了测试资源
[INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ http_01 ---
[INFO] Not copying test resources
# 跳过了测试代码编译
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ http_01 ---
[INFO] Not compiling test sources
# 没有跳过运行测试,但是因为没有编译的测试代码,打印了没有测试需要运行。
[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ http_01 ---
[INFO] No tests to run.

Maven跳过测试的更多相关文章

  1. maven 跳过测试 打包 及上传命令

    [main] ERROR org.apache.maven.cli.MavenCli - Failed to execute goal org.apache.maven.plugins:maven-s ...

  2. Maven 跳过测试目录

    在命令行使用 mvn install -Dmaven.skipTests 或 mvn install -Dmaven.test.skip=true 或在pom.xml设置 <build> ...

  3. maven跳过测试打包

    1.在执行run as时候加上参数: clean install compile -Dmaven.test.skip=true   2.在pom文件中添加如下: <plugins> < ...

  4. maven跳过测试编译命令

    mvn clean install/package/deploy -Dmaven.test.skip=true

  5. maven install 跳过 测试 test

    你可能想要配置 Maven 使其完全跳过单元测试. 可能你有一个很大的系统,单元测试需要花好多分钟来完成,而你不想在生成最终输出前等单元测试完成. 你可能正工作在一个遗留系统上面,这个系统有一系列的失 ...

  6. Maven配置插件跳过测试代码的编译和运行

    Maven配置插件跳过测试代码的编译和运行: <!-- 编译插件 --> <plugin> <groupId>org.apache.maven.plugins< ...

  7. maven打包如何跳过测试

    Maven打包如何跳过测试?正常来说,不应该这样做,因为测试可以避免很多麻烦排除一些不必要的错误,前提是测试足够规范,这里主要指junit测试,如果junit测试有问题的话,将会直接影响到mvn in ...

  8. maven 设置跳过测试

    1.在执行mvn命令时增加以下参数可以跳过测试: -DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下. -Dmaven.test ...

  9. Java开发学习(三十二)----Maven多环境配置切换与跳过测试的三种方式

    一.多环境开发 我们平常都是在自己的开发环境进行开发, 当开发完成后,需要把开发的功能部署到测试环境供测试人员进行测试使用, 等测试人员测试通过后,我们会将项目部署到生成环境上线使用. 这个时候就有一 ...

随机推荐

  1. 49-在 overlay 中运行容器

    上一节我们创建了 overlay 网络 ov_net1,今天将运行一个 busybox 容器并连接到 ov_net1: 查看容器的网络配置: bbox1 有两个网络接口 eth0 和 eth1.eth ...

  2. 搭建虚拟机+静态IP+XShell管理虚拟机+jdk+tomcat热部署

    第一步:搭建虚拟机 大家可以参考http://blog.csdn.net/u012453843/article/details/68947589这篇博客进行学习 第二步:配置静态IP并且要能上网 大家 ...

  3. MySQL多实例安装教程

    目录 MySQL的多实例 实验准备: 准备阶段: 实验阶段 MySQL的多实例 实验准备: 1. 一个干净的centos7系统 2. 关闭防火墙和selinux 3. 之前已经二进制安装过的MySQL ...

  4. 12.2 中的Data Guard Standby 密码文件自动同步 (Doc ID 2307365.1)

    Data Guard Standby Automatic Password file Synchronization in 12.2 (Doc ID 2307365.1) APPLIES TO: Or ...

  5. 电池中的NTC功能是什么?【转】

    电池的NTC功能是什么 因为可充电电池在不断的循环充电和放电过程中可能会导致电池温度的过高,导致电池原始性能下降.为了保持电池性能,密切监测电池温度非常重要,NTC在充电电池组内部的合适应用中可以起到 ...

  6. Centos7_sl命令跑火车

    一.更新yum源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo 二.安装sl命令 yum ...

  7. BZOJ3144/LG3227 「HNOI2013」切糕 最小割离散变量模型

    问题描述 BZOJ3144 LG3227 还想粘下样例 输入: 2 2 2 1 6 1 6 1 2 6 2 6 输出: 6 题解 关于离散变量模型,我不想再抄一遍,所以: 对于样例,可以建立出这样的图 ...

  8. 范罗士空气净化器PT65评测

    买了一台空气净化器,之前网上查了查,哟,是个知名品牌,做碎纸机的. 你问我为啥找个卖碎纸机的买空气净化器?因为年轻,咱们往下看 包装还可以 一打开就有疑问了,这塑料味道不对呀,三手料也不该这个味儿啊. ...

  9. 【一起刷LeetCode】在未排序的数组中找到第 k 个最大的元素

    题目描述 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 ...

  10. 连接远程服务器的几种方式/Vscode + Remote

    连接远程服务器的几种方式 前言 最近在尝试做网盘,使用的技术栈大概是 .net core + MVC + Mysql + Layui,主要目的是通过这个具体的项目,熟悉熟悉 .net core 开发, ...