2021.6.29:编写JUnit测试

前言:为什么要用单元测试

单元测试是针对最小功能单元的测试。Java中的最小功能单元是方法,所以Java单元测试就是针对单个Java方法的测试。

在此之前,我们检查代码运行情况,是通过写一个main方法,在其中写很多测试语句,这样做有很多缺点:

  1. 只能有一个main方法,不能把测试代码分离;
  2. 打印不出测试结果和期望结果,如
    expected:3628800,but actual:123456
  3. 很难编写一组通用的测试代码;

所以,我们需要一种测试框架,帮助我们编写测试。

JUnit

说明

JUnit是一个开源Java单元测试框架,专为Java设计,用途广泛。JUnit是事实上的单元测试标准框架,任何Java开发者都应当学习使用JUnit编写单元测试。

用JUnit编写单元测试的好处在于,我们可以非常简单地组织测试代码,并随时运行它们,JUnit就会给出成功和失败的测试结果,并生成测试报告,不仅包含测试成功率,还可以统计代码覆盖率——即被测试代码本身有多少通过了测试。对于高质量代码来说,测试覆盖率应该在80%以上

此外,几乎所有的IDE工具都集成了JUnit,这样我们就可以在IDE中编写并运行JUnit测试。

单元测试的好处

确保单个方法按照正确预期运行。如果修改了这个方法,只需保证对应的单元测试通过,即可认为改动正确。此外,测试代码本身可以作为示范代码,用来演示如何调用该方法。

使用JUnit进行单元测试,我们可以使用断言Assertion来测试预期结果,可以方便地组织和运行测试,并方便地查看测试结果。

此外,JUnit既可以在IDE中运行,也可以方便地集成到Maven这些自动化工具中运行。

编写单元测试时,要遵循一些规范:

  1. 单元测试代码必须简单,能一下看明白,不需要为它再编写测试
  2. 每个单元测试互相独立,不依赖运行顺序;
  3. 除了要覆盖常用测试用例,还要特别注意测试边界条件,例如0、null、""等。
posted @   ShineLe  阅读(153)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示