首页 前端知识 [Java基础]单元测试

[Java基础]单元测试

2025-02-28 12:02:48 前端知识 前端哥 415 257 我要收藏

单元测试

针对最小的功能单元(方法), 编写测试代码对其进行正确性测试

手动测试的问题

  1. 只能在main方法中编写测试代码, 调用其他方法进行测试
  2. 无法实现自动化测试, 一个方法测试失败, 会影响其他方法的测试
  3. 没有测试报告, 需要自己观察测试结果

Junit框架

用来对方法进行测试, 第三方公司开源的, 已经集成在IDEA中

优势:

  1. 可以灵活的编写测试代码, 可以针对某个方法执行测试,
  2. 支持一键完成全部方法的自动化测试, 且每个方法各自独立
  3. 自动生成测试报告

快速入门

需求: 某个系统,有多个业务方法,请使用Junit单元测试框架,编写测试代码,完成对这些方法的正确性测试

/**
* 字符串工具类
*/
public class StringUtil {
// 打印名字
public static void printNumber(String name) {
System.out.println("名字的长度是:" + name.length());
}
// 获取最大索引
public static int getMaxIndex(String data) {
if(data == null || "".equals(data)) {
return -1;
}
return data.length() - 1;
}
}
复制
  1. 将Junit框架的jar包导入到项目中 (IDEA集成了Junit框架,不需要我们自己手工导入了)
  2. 为需要测试的业务类,定义对应的测试类,并为每个业务方法,编写对应的测试方法
  • 必须: 公共、无参、无返回值
  • 测试方法上必须声明@Test注解
  • 导包: alt + enter -> 选择Junit4 -> ok
/**
* 测试类
* 使用junit框架完成业务方法的测试
*/
public class StringUtilTest {
// 1.测试PrintNumber()
@Test
public void testPrintNumber() {
}
// 2.测试GetMaxIndex()
@Test
public void testGetMaxIndex() {
}
}
复制
  1. 然后在测试方法中,编写代码调用被测试的业务方法进行测试
/**
* 测试类
* 使用junit框架完成业务方法的测试
*/
public class StringUtilTest {
// 1.测试PrintNumber()
@Test
public void testPrintNumber() {
// 测试用例
// 测试用例要全面, 极端情况也要测
StringUtil.printNumber("张三");
StringUtil.printNumber("");
StringUtil.printNumber(null);
}
// 2.测试GetMaxIndex()
@Test
public void testGetMaxIndex() {
// 测试用例
int index = StringUtil.getMaxIndex("aabbccdd");
System.out.println(index);
int index2 = StringUtil.getMaxIndex("");
System.out.println(index2);
int index3 = StringUtil.getMaxIndex(null);
System.out.println(index3);
// 判断测试
// 通过预测运行结果,测试方法是否符合预期
Assert.assertEquals("获取的最大索引错误!", 7, index);
Assert.assertEquals("获取的最大索引错误!", -1, index2);
Assert.assertEquals("获取的最大索引错误!", -1, index3);
}
}
复制
  1. 开始测试: 选中测试方法,右键选择"JUnit运行"

  1. 一键测试
  • 执行单个测试方法: 选择方法, 右键Run运行
  • 执行类的全部测试方法: 选择类, 右键Run运行
  • 执行项目中全部的方法: 选择项目或者模块, 右键"Run All Tests"
  1. 如果测试通过则是绿色; 如果测试失败,则是红色

常见注解

Junit单元测试框架的常用注解(Junit 4.xxxx版本)

  1. 在测试方法执行前执行的方法,常用于初始化资源。
  2. 在测试方法执行完后再执行的方法,常用于释放资源。

Junit单元测试框架的常用注解(Junit 5.xxxx版本)

  1. 开始前执行的方法: 初始化资源。
  2. 执行完之后的方法: 释放资源。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/22007.html
标签
评论
还可以输入200
共0条数据,当前/页
会员中心 联系我 留言建议 回顶部
复制成功!