Junit单元测试
单元测试Junit
一.测试的分类:
1.黑盒测试:不需要写代码,给输入值,看是否可以得到预期的结果。
2.白盒测试:需要写代码,需要关注程序具体的执行流程。
二.Junit使用
1.Junit属于白盒测试
步骤:
1.定义一个测试类(测试用例)
建议:
-
测试类名:被测试类+test
-
包名:xxx.xxx.xxx.tset
2.定义测试方法:可以独立运行
建议:
-
方法名:test+测试的方法名
-
返回值:void
-
参数列表:空参
3.给方法就爱注解(@test)
@Before就是在执行一个方法之前必须要执行一些资源,那么我们可以将这些资源放在一个方法中,并添加@before注解
4.导入Junit的依赖环境
判定结果:
-
红色:失败
-
绿色:成功
-
在Junit中一般我们会进行断言操作(因为在Junit中一般会通过程序执行后的颜色来判断,而不是直接输出结果)
具体代码演示:以一个计算器的加减法为例
首先我们以main方法进行测试,代码如下:
package com.gcy.calculate;
/**
* 创建一个计算器类(只做加法和减法)
*/
public class Calculate {
/**
* 加法
* @param a
* @param b
* @return
*/
public int add(int a,int b){
return a+b;
}
/**
* 减法
* @param a
* @param b
* @return
*/
public int sub(int a,int b){
return a-b;
}
}
mian方法测试类:
package com.gcy.calculate;
/**
* 利用主方法的形式进行测试
*/
public class CalculateTest {
public static void main(String[] args) {
//创建对象
Calculate c=new Calculate();
int result=c.add(1,2);
System.out.println(result);
}
}
上面这种测试方法的缺点是当我们进行了加法的测试后,如果再对减法进行测试,就必须将加法的测试进行注解或进行删除,非常的不变,因此推荐使用Junit进行测试
利用Junit进行测试
package com.gcy.test;
import com.gcy.calculate.Calculate;
import org.junit.Assert;
import org.junit.Test;
/**
* 使用Junit进行测试
*/
public class CalculateTest {
/**
* 对加法进行测试
*/
@Test
public void testAdd(){
//创建计算器对象
Calculate c=new Calculate();
//调用方法
int reslut= c.add(1,2);
//使用断言
Assert.assertEquals(3,reslut);
}
@Test
public void testSub(){
//创建计算器对象
Calculate c=new Calculate();
//调用方法
int reslut= c.sub(6,5);
//使用断言
Assert.assertEquals(1,reslut);
}
}
在进行Junit进行测试时,注意一般是看程序执行后下方的颜色,红色代表失败,绿色代表成功,应为如果直接输出结果二不使用断言的话,就可能会出现错误,例如,当我们进行加法测试时,
由于失误,调用了减法,程序也不会出错。有兴趣的可以自己尝试一下。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~