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 @ 2021-06-29 14:43  ShineLe  阅读(164)  评论(0)    收藏  举报