您现在的位置是:首页 >技术教程 >快速入门Junit单元测试:提高代码质量和效率网站首页技术教程
快速入门Junit单元测试:提高代码质量和效率
简介快速入门Junit单元测试:提高代码质量和效率
Junit单元测试
一.什么是Junit单元测试?
Junit是一个功能强大的Java单元测试框架,它提供了各种功能和类来测试Java应用程序的各个方面。
单元测试是对软件中某个模块的最小可测试单元进行验证,以确保代码按照预期执行并产生正确的结果。
在JUnit中,测试用例由一个或多个测试方法组成,每个测试方法都测试相应的代码模块、方法或类。
JUnit提供了各种断言方法,用于判断测试结果是否与预期结果相符。
通过使用JUnit单元测试,开发人员可以测试代码的各个方面并确保其质量,
从而提高代码的可维护性、可靠性和可重用性。
二.测试分类
1.黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值
2.白盒测试:需要写代码,关注程序的具体执行步骤
三.Junit使用:白盒测试
1.步骤
1.定义一个测试类(测试用例)
建议:
测试类名:被测试的类名Test CalculationTest
包名:xxx.xxx.xx.test cn.itcast.test
2.定义测试方法:可以独立运行
建议:
方法名:test测试的方法名 testAdd()
返回值:void
参数列表:空参
3.给方法加@Test
4.导入Junit依赖环境
判定结果:
红色:失败
绿色:成功
(一般使用断言Assert操作来处理结果)
Assert.assertEquals(期望的结果,运算的结果);
2.具体实现
创建如下的junit包和test包,并创建Calculator类和CalculatorTest类
实现Calculator计算类的加减乘除
public class Calculator {
public int add(int x1,int x2){
return x1+x2;
}
public int sub(int x1,int x2){
return x1-x2;
}
public int multiply(int x1,int x2){
return x1*x2;
}
public double divide(int x1,int x2){
if (x2==0){
return -1;
}
return x1/x2;
}
}
public class CalCulatorTest {
@Test
public void testAdd(){
Calculator cal = new Calculator();
int result = cal.add(1, 2);
// 判断结果与预期值是否符合
Assert.assertEquals(3,result);
}
}
tips:如果@Test报错,记得导入Junit包哦~
3.结果显示
加入@Test后,testAdd()不需要Main方法也可以独立运行
此时我们可以看到,是绿色的√,正确。
如果我们输入错误的值呢?
public class CalCulatorTest {
@Test
public void testAdd(){
Calculator cal = new Calculator();
int result = cal.add(1, 2);
// 判断结果与预期值是否符合
Assert.assertEquals(1,result);
}
}
我们可以在右边看到Expected预期值与Actual实际值不同,显示红色。通过测试,我们可以判断输入值与输出值是否一直。
补充
@before:
修饰的方法会在测试方法之前自动执行
@after:
修饰的方法会在测试方法执行之后自动被执行
测试:
public class CalCulatorTest {
@Test
public void testAdd(){
Calculator cal = new Calculator();
int result = cal.add(1, 2);
// 判断结果与预期值是否符合
Assert.assertEquals(3,result);
System.out.println("计算结果为:"+result);
}
/**
* 用于资源申请,所有方法执行之前都会执行该方法
*/
@Before
public void init(){
System.out.println("初始化中...");
}
/**
* 用于释放资源,每次都会执行
*/
@After
public void close(){
System.out.println("释放资源中...");
}
}
结果:
如果这篇文章对你有帮助的话,点赞收藏+关注支持一下叭,谢谢你啦~
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。