对于从业Java的小伙伴来说,“单元测试”这个词你一定不陌生,如果你想要学习 Java 单元测试,下面的内容你一定要看!
近日,实验楼上线了新课《Java 单元测试入门实战》,本课程主要讲解如何使用 JUnit 来进行单元测试,会学习到单元测试的基本概念以及 JUnit 的基本功能和操作,并且了解单元测试的基本步骤和方法。
关于对 JUnit 的介绍,有一定英语水平的小伙伴,也可以选择阅读 JUnit5 官方文档。
在学习单元测试之前,需理清几个概念,我们需要了解的相关概念有:软件测试、单元测试、JUnit,本文后面将截取课程第一章内容,讲解这几个相关概念。
以下内容取自课程第一章节内容。
一、软件测试
软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。
换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。
软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
以上内容来自百度百科。
二、单元测试
概念
单元测试(英语:Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。
程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。
通常来说,程序员每修改一次程序就会进行最少一次单元测试,在编写程序的过程中前后很可能要进行多次单元测试,以证实程序达到软件规格书要求的工作目标,没有程序错误;虽然单元测试不是什么必须的,但也不坏,这牵涉到项目管理的政策决定。
优点
- 适应变更
单元测试允许程序员在未来重构代码,并且确保模块依然工作正确(复合测试)。这个过程就是为所有函数和方法编写单元测试,一旦变更导致错误发生,借助于单元测试可以快速定位并修复错误。 - 简化集成
单元测试消除程序单元的不可靠,采用自底向上的测试路径。通过先测试程序部件再测试部件组装,使集成测试变得更加简单。 - 文档记录
单元测试提供了系统的一种文档记录。借助于查看单元测试提供的功能和单元测试中如何使用程序单元,开发人员可以直观的理解程序单元的基础 API。 - 表达设计
在测试驱动开发的软件实践中,单元测试可以取代正式的设计。每一个单元测试案例均可以视为一项类、方法和待观察行为等设计元素。
三、JUnit 测试框架
JUnit 是一个开源的 Java 编程语言的单元测试框架。通过 JUnit,可以提高测试代码编写的速度与质量,而且 JUnit 测试可以自动运行,检查自身结果并提供即时反馈,无需人工整理测试结果。JUnit 凭借它的优势,在 Java 单元测试中得到广泛使用。
JUnit 集成在许多 IDE 当中,如 Eclipse。目前 JUnit 最新版本为 JUnit5,因此本课程使用 Eclipse 中的 JUnit5 作为主要的实战环境。
通过课程第一章,我们了解了软件测试与单元测试的基本概念,以及 JUnit 测试框架的概念和作用。后续章节中将讲述以下知识点:
- JUnit 断言
- JUnit 注解
- JUnit 假设
- JUnit 条件测试
- JUnit 重复测试
- JUnit 禁用测试
- JUnit 参数化测试
点击《Java 单元测试入门实战》,即可学习完整课程。