2022Java学习笔记九十(单元测试:junit框架、单元测试的常用注解)
单元测试
单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性。
一、Junit单元测试框架
JUnit是使用Java语言实现的单元测试框架,它是开源的,Java开发者都应当学习并使用JUnit编写单元测试。
此外,几乎所有的IDE工具都集成了JUnit,这样我们就可以直接在IDE中编写并运行JUnit测试,JUnit目前最新版本是5。
JUnit优点
● JUnit可以灵活的选择执行哪些测试方法,可以一键执行全部测试方法。
Junit可以生成全部方法的测试报告。如果测试良好则是绿色;如果测试失败,则是红色。
单元测试中的某个方法测试失败了,不会影响其他测试方法的测试。
实例代码
创建一个UserServer类,里面放两个方法
package com.zcl.d1_junit;
/*
业务方法
*/
public class UserServer {
public String loginName(String username,String password){
if("admin".equals(username) && "123456".equals(password)){
return "登录成功";
}else{
return "登录失败";
}
}
public void selectNames(){
System.out.println(10/0);
System.out.println("查询所有方法");
}
}
创建一个TestUserServer单元测试类
关于单元测试类需要注意的事项:
1、第一次下载Junit依赖包的时候最好连上网络,不然是不可以使用@Test的
2、关于命名最好使用的是对于需要测试的方法名称
3、关于启动测试方法:鼠标在哪启动那个,点击对应测试类就会执行指定的测试类,如果点击空白地方或者整个类名的地方就会运行所有的类下的方法。
还有一个强大的功能就是一键测试完整个过程下面的方法,鼠标点击过程目录右键有一个【Run’All Tests’】运行就会将整个模块的方法都跑一遍
package com.zcl.d1_junit;
import org.junit.Assert;
import org.junit.Test;
/*
测试类
*/
public class TestUserServer {
/*
注意:
1、必须是公开的,无参数、无返回值
2、测试方法必须使用@Test注解标记
IDEA第一次使用单元测试建议连网下载Junim
*/
@Test // 连网下载
public void testUserServer(){
UserServer userServer = new UserServer();
String rs = userServer.loginName("admin","123456");
// 进行预期结果的正确性测试:断言【就是对测试方法返回的信息是否是我们想要的信息】
/**
* 参数一:错误返回值
* 参数二:期待值
* 参数三:实际值
*/
Assert.assertEquals("您的d登录业务可能出现问题","登录成功",rs);
}
@Test
public void testselectName() {
UserServer userServer = new UserServer();
userServer.selectNames();
}
}
关于测试的输出结果
这是一个同时运行两个测试方法的结果,报红的就是有问题的,绿色的就是没有问题的
二、单元测试的常用注解
开始执行的方法:初始化资源
执行完之后的方法:释放资源