当前位置: 首页 > news >正文

java高级 -Junit单元测试

Junit单元测试就是针对最小的功能:方法,编写测试代码对其进行正确性测试。用main方法进行测试的弊端是一个方法测试失败可能会影响别的方法的测试,也无法得到测试报告,需要我们自己观察数据是否正确。

此时,我们就需要使用Junit单元测试框架,它是由第三方公司开发出来的。

优点:可以灵活的编写测试代码,可以针对某个方法进行测试,也支持一键测试所有方法,且各自独立。

不需要程序员分析测试结果,会给出测试报告。

1、为需要测试的业务类,定义对应的测试类,并为每个业务方法,编写测试方法。

测试方法上必须有@Text注解,当只需要启动单一测试方法时,在该方法内右键选Junit运行即可。测试通过是绿色,没通过是红色。

业务类

package junitDemo;public class StringUtil {public static void PrintNumber(String name){if(name==null){System.out.println("参数不能为null");return;}System.out.println("名字长度是:"+name.length());}/*** 求字符串最大索引*/public static int getMaxIndex(String str){if(str == null ||"".equals(str))return -1;return str.length()-1;}
}

测试方法

package junitDemo;import org.junit.Assert;
import org.junit.Test;//测试类:junit单元测试框架,对业务类中的业务方法进行正确性测试
public class StringUtilText {//测试方法:必须是公开public,无参,无返回值//测试方法必须加上@Test注解@Testpublic void textPrintNumber() {//测试步骤StringUtil.PrintNumber("张三abc");//测试用例StringUtil.PrintNumber("");StringUtil.PrintNumber(null);}@Testpublic void testGetMaxIndex() {int index = StringUtil.getMaxIndex("abcdefg");int index2 = StringUtil.getMaxIndex(null);int index3 = StringUtil.getMaxIndex("");//做断言,测试结果与预期结果是否一致Assert.assertEquals("本轮测试失败,业务获取的最大索引有问题",6,index);Assert.assertEquals("本轮测试失败,业务获取的最大索引有问题",-1,index2);Assert.assertEquals("本轮测试失败,业务获取的最大索引有问题",-1,index3);}
}

在执行方法时,可以定义一个变量存储返回值,然后在后续代码进行断言,如果返回值与预期结果一致,则标绿,不一致则标红

相关文章:

  • 用VMWare架飞牛nas 启用Intel千兆网卡
  • 基于点标注的弱监督目标检测方法研究
  • Linux Kernel调试:强大的printk(一)
  • 程序代码模块化设计的架构方法论
  • 《仿盒马》app开发技术分享-- 定位获取(端云一体)
  • LangChain02-Agent与Memory模块
  • React整合【ECharts】教程003:关系图的构建和基本设置
  • 在langchain4j中 UserMessage注解和SystemMessage两个注解的区别
  • MyBatis-Plus整合SpringBoot及使用
  • 将 Shp 导入 PostGIS 空间数据的五种方式(全)
  • 数据集全解析:从基础概念到实践应用的完整指南
  • 消息队列kafka的基础概念和部署
  • Lambda表达式的方法引用详解
  • PCB 通孔是电容性的,但不一定是电容器
  • GO 语言进阶之 Template 模板使用
  • 远程办公时代macOS访问解决方案:兼顾效率提升与安全防护的实用架构指南
  • 显存不够?节约显存高效微调语言模型的五种方法及实验
  • c++树状数组模板Fenwick (Binary Indexed) Trees
  • python3GUI--运维系统大屏 By:PyQt5(附下载地址)
  • 11.SPI和W25Q64
  • 网站搜索引擎提交/广告营销留电话网站
  • 乐清网页设计公司哪家好/seo网站推广招聘
  • 注册网站空间/友情链接站长平台
  • 推广qq群的网站/google play store
  • 深圳企业网站建设报价/域名批量查询工具
  • 金属材料网站建设/2022最新时事新闻及点评