Maven测试代码的重用
在项目开发过程中,程序员经常要将公共的功能代码打包共享给其他模块重复使用,此外还有以前沉淀下来的公共框架代码。这里可以使用 mvn package 命令将这些代码打包,构建成构件,发布到仓库中共享,以便其他项目可以做依赖构件使用。
同样地,对那些有着良好设计,能够重复使用在项目的不同模块中、甚至不同项目中的测试代码,也需要打包成构件重复使用,从而减少编写测试代码的工作量。而 mvn package 只会对主代码和资源文件进行打包安装与部署,对测试代码和资源文件是不会处理的。
为了实现将测试代码和资源文件打包安装与部署,可以在 pom 中配置 maven-jar-plugin 插件,样例配置代码如下:
test-jar 目标没有内置绑定,所以需要用户在插件配置中声明该目标,从而达到在 Maven 工程构建的时候将测试代码和资源文件打包。test-jar 目标是默认绑定到 default 生命周期的 package 阶段,所以当运行 mvn clean package 命令的时候,能同时将主代码和测试代码分别打包。
最后需要说明的是,当使用测试构件依赖的时候,需要指定依赖的 type 为 test-jar,样例配置代码如下:
同样地,对那些有着良好设计,能够重复使用在项目的不同模块中、甚至不同项目中的测试代码,也需要打包成构件重复使用,从而减少编写测试代码的工作量。而 mvn package 只会对主代码和资源文件进行打包安装与部署,对测试代码和资源文件是不会处理的。
为了实现将测试代码和资源文件打包安装与部署,可以在 pom 中配置 maven-jar-plugin 插件,样例配置代码如下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.2</version> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin>maven-jar-plugin 有两个目标:一个是 jar;另一个是 test-jar。jar 目标有内置绑定到 Maven 的 default 生命周期的 package 阶段,会在 Maven 工程进行构建的时候自动执行,将项目的主代码和资源文件进行打包。
test-jar 目标没有内置绑定,所以需要用户在插件配置中声明该目标,从而达到在 Maven 工程构建的时候将测试代码和资源文件打包。test-jar 目标是默认绑定到 default 生命周期的 package 阶段,所以当运行 mvn clean package 命令的时候,能同时将主代码和测试代码分别打包。
最后需要说明的是,当使用测试构件依赖的时候,需要指定依赖的 type 为 test-jar,样例配置代码如下:
<dependency> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> <type>test-jar</type> <score>test</score> </dependency>
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频