个人简介
- 大家好,我是韩慧腾。一名正在努力学JAVA的大一小白,本文章为初学的笔记,希望各位多多指教。💙
- 欢迎点赞+收藏+留言💜
- 保持对生活的热爱 把每一天都过得热气腾腾🧡
一、单元测试
概述:单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进行检查方法的正确性。
目前测试方法存在的问题:
- 只有一个main方法,如果一个方法的测试失败了,其他方法测试会受到影响
- 无法得到测试的结果报告,需要程序员自己去观察测试是否成功
- 无法实现自动化测试
二、JUnit单元测试框架
概述:
- JUnit是使用Java语言实现的单元测试框架,是开源的,Java开发者都应当学习并使用JUnit编写单元测试
- 目前,几乎所有IDE工具都集成了JUnit,这样我们就可以直接在IDE中编写并运行JUnit测试
优点:
- JUnit可以灵活的选择执行哪些测试方法,可以一键执行全部测试方法
- JUnit可以生成全部方法的测试报告(测试良好是绿色,测试失效是红色)
- 单元测试中的某个方法测试失败了,不会影响其他方法的测试
import org.junit.Assert;
import org.junit.Test;
/**
* @author hanhan
* date 2022/4/30 17:17
* 努力已经来不及了,你得拼命
* 测试类(通常一个方法对应一个测试方法)
*/
public class JUnitDemo_00 {
/**
* 测试方法
* 1.必须是公开的、无参数、无返回值的方法
* 2.测试方法必须使用@Test注解标记
* 3.测试方法可以直接运行,不需要有main方法
* 4.自动化测试,可以在某个方法位置单独测试一个,也可以在类名那测试该类所有测试方法
*/
@Test
public void testcheckName(){
UserServer us = new UserServer();
String s=us.checkName("xiaoming");
//进行预期结果的正确性测试、断言
Assert.assertEquals("您的业务可能存在问题","输入正确",s);
}
@Test
public void testselectName(){
UserServer us = new UserServer();
us.selectName();//检验该方法是否有BUG
}
}
class UserServer{
public String checkName(String name){
if("xiaoming".equals(name)){
return "输入正确";
}
return "输入错误";
}
public void selectName(){
System.out.println(10/0);
System.out.println("查询用户名");
}
}
三、单元测试常用注解