《Java单元测试实战》——简化技巧:Java编程技巧之单元测试用例简化方法(5)

简介: 《Java单元测试实战》——简化技巧:Java编程技巧之单元测试用例简化方法(5)

《Java单元测试实战》——简化技巧:Java编程技巧之单元测试用例简化方法(4) https://developer.aliyun.com/article/1232242?groupCode=java



五、 简化单元测试用例

 

1. 利用直接测试私有方法简化单元测试用例

 

习惯性地,我们通过构造共有方法的测试用例,来覆盖公有方法及其私有方法的所有分支。这种方式没有问题,但有时候显得测试用例比较繁琐。我们可以直接测试私有方法,单独对私有方法进行全覆盖,从而减少对公有方法的测试用例。


被测代码:


image.png

 

原始用例:

image.png

简化用例:

image.png

 2. 利用JUnit的参数化测试简化单元测试用例

 

有时候我们会发现,同一方法的在不同场景下的单元测试,除了加载的数据不同之外,单元测试用例的代码基本完全一致。我们可以这样分析:虽然单元测试用例的场景不一样——执行代码的分支不一样,调用方法方法的顺序、次数、返回值不一样;但是,其调用的依赖方法的数量是完全一致的;所以,最终写出来的单元测试用例的代码也是完全一致的。这时,我们就可以采用JUnit的参数化测试来简化单元测试用例。

 

被测代码:

 

同上一章的测试代码。

 

原始用例:

 

同上一章的原始用例。


简化用例:


image.png


如上简化用例所示:在资源目录testGetUserWithNormal中创建了两个目录vip和notVip,用于存储相同名称的JSON文件userDO.json和userVO.json,但是其文件内容根据场景又有所不同。

 

备注:本案例采用JUnit5.0的参数化测试新特性。

 

后记

 

《走向卓越工程实践》是一本面向集团一线研发工程师/二层组织技术负责人/ TLM/Tech Lead 的实践指南,意在引导集团技术朝着更卓越先进的水平持续优化和演进,以高质量带动高效率,为研发工程师和技术管理者指明从基础迈向卓越工程的道路。这里,填写了一首词《满江红·卓越工程》,谨此献给卓越工程小组。

 

《满江红·卓越工程》

 

夜色朦胧,高楼里、灯如白昼。

揉睡眼,仰天长吼,又熬一宿。

美好生活仍未见,称心工作何时有?

累成狗、秃了少年头,人消瘦。

 

编单测,纠错谬。核代码,查疏漏。

讲方法,打破加班魔咒。

卓越工程提效率,日常实践争优秀。

从此后、阔步向前行,精神抖。

相关文章
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
3109 8
|
10月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
608 1
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
消息中间件 缓存 监控
性能测试怎么做?方法、流程与核心要点解析
本文系统阐述了性能测试的核心方法论、实施流程、问题定位优化及报告编写规范。涵盖五大测试类型(负载验证、极限压力、基准比对、持续稳定性、弹性扩展)与七项关键指标,详解各阶段任务如需求分析、场景设计和环境搭建,并提供常见瓶颈识别与优化实战案例。最后规范测试报告内容框架与数据可视化建议,为企业级实践提出建立基线库、自动化回归和全链路压测体系等建议,助力高效开展性能测试工作。
|
Java 测试技术
Java一分钟之-单元测试:JUnit与TestNG
【5月更文挑战第16天】本文介绍了Java常用的单元测试框架JUnit和TestNG,JUnit以其简洁注解受到青睐,而TestNG则提供更高级功能如参数化测试。常见问题包括测试未执行、断言失败等,解决办法包括检查项目配置、调整测试顺序。注意保持测试简单独立,确保高覆盖率。选择合适的框架可提升代码质量。
418 0
|
Java 测试技术
java之单元测试框架JUnit(做测试用的)
针对代码最小的功能单元进行编写的测试代码,方法就是最小的单元。
540 0
java之单元测试框架JUnit(做测试用的)
|
Java 测试技术
Java单元测试必备工具-JUnit
Java单元测试必备工具-JUnit
224 0
|
Java 测试技术 Maven
Java单元测试之 JUnit
对于程序员是否有必要编写test case,何时编写依然存在很多争议,各种互斥的方法论(SE/AM/XP/TDD),以及不同的开发文化,但是可以确定是编写单元测试用例有助于提高编程能力。
1184 0
|
Java 测试技术 Android开发
java中的单元测试Junit4
首先就是主要简单的讲一下Junit的使用,属于傻瓜式速成教程,gogogogogogogo!   一:什么是单元测试:   我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。
1195 0

热门文章

最新文章