maven总结(三)--单元测试成功后并打成jar包

说明:本文代码是基于"maven总结(二)--基本操作之编译java文件"的代码进行扩展

这里测试main-》java中的Tool2.java文件是否正确

1:建测试类Test.java

   规定在文件test中的java文件下建测试文件TestTool2.java

    代码如下:

package com.lisx.maven;
import org.junit.*;
 
public class TestTool2 {
	
	@Test
	public void testMethodOne () {
		System.out.println("maven的单元测试成功!");
	}
}

    图如下:

    

 

2:pom.xml文件中引入junit依赖

<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"     
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">
		 <!--声明项目描述符遵循哪一个POM模型版本。模型本身的版本很少改变,虽然如此,但它仍然是必不可少的,这是为了当Maven引入了新的特性或者其他模型变更的时候,确保稳定性。-->       
		<modelVersion>4.0.0</modelVersion>  
		<!--项目的全球唯一标识符,通常使用全限定的包名区分该项目和其他项目。并且构建时生成的路径也是由此生成, 如com.mycompany.app生成的相对路径为:/com/mycompany/app-->     
		<groupId>com.lisx.maven</groupId>     
		<!-- 构件的标识符,它和group ID一起唯一标识一个构件。换句话说,你不能有两个不同的项目拥有同样的artifact ID和groupID;在某个 特定的group ID下,artifact ID也必须是唯一的。构件是项目产生的或使用的一个东西,Maven为项目产生的构件包括:JARs,源 码,二进制发布和WARs等。-->     
		<artifactId>maven-dome1</artifactId>        
		<!--项目当前版本,格式为:主版本.次版本.增量版本-限定版本号-->     
		<version>0.0.1-SNAPSHOT</version>     
		
		<!--项目引入插件所需要的额外依赖-->    
		<dependencies>    
			<!--参见dependencies/dependency元素-->    
			<dependency>    
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>  	
				<version>4.10</version>    			
			</dependency>    
		</dependencies>
</project>

3:使用mvn test命令进行测试

测试成功!

4:执行mvn clean可将根目录下生成的target文件移除

5:执行mvn package可重新编译源文件并打成jar包

### 如何解决IDEA Maven项目打JAR单元测试失败 当在IntelliJ IDEA中使用MavenMaven项目为JAR文件时遇到单元测试失败的情况,可以采取多种措施来解决问题。以下是详细的解决方案: #### 1. 检查依赖项冲突 有时,不同的库版本之间可能存在冲突,这可能导致某些类无法正常加载或行为异常。可以通过`mvn dependency:tree`命令查看项目的依赖树查找潜在的冲突。 ```bash mvn dependency:tree ``` 如果发现有重复或不兼容的依赖,则可以在`pom.xml`中调整这些依赖的版本号或者排除不必要的传递性依赖[^1]。 #### 2. 配置跳过测试 对于一些不需要执行测试的情况下(例如部署环境),可以选择暂时忽略掉所有的单元测试。修改`pom.xml`中的插件配置部分如下所示: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M7</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> ``` 也可以直接通过命令行参数指定跳过测试: ```bash mvn clean package -Dmaven.test.skip=true ``` 需要注意的是这种方法只是临时性的解决方案,在实际开发过程中应该修复导致测试失败的根本原因而不是简单地绕过它们[^2]。 #### 3. 更新测试框架及相关工具 确保使用的JUnit或其他任何其他类型的测试框架是最新的稳定版;同时也要确认Mockito等辅助库也处于最新状态。此外还需要保证所有必要的运行时支持都已安装到位,比如Java Development Kit (JDK),以及正确设置了PATH变量指向相应的目录位置。 #### 4. 修改测试代码逻辑 仔细审查那些抛出了错误信息的具体测试案例,尝试找出其背后隐藏的原因所在——可能是由于数据源连接字符串拼写错误、SQL语句语法不当或者是业务规则理解偏差等因素引起的。针对这些问题逐一排查直至完全消除为止。 #### 5. 使用调试功能定位问题 利用IDE内置的强大断点设置能力逐步跟踪程序流程走向,观察各个阶段内部对象的状态变化趋势从而更精准快速地锁定故障源头。另外还可以借助日志记录机制输出更多有用的信息帮助分析判断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋天的猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值