jUnit 入门教程 JUnit - 概述

2024-02-25 开发教程 jUnit 入门教程 匿名 3

单元测试(英语:Unit Testing)又称为模块测试 ,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。

单元测试允许程序员在未来重构代码,并且确保模块依然工作正确(复合测试)。这个过程就是为所有函数和方法编写单元测试,一旦变更导致错误发生,借助于单元测试可以快速定位并修复错误。

单元测试可以由两种方式完成:

手工测试自动化测试
定义手动执行测试用例并不借助任何工具的测试被称为人工测试。
借助工具支持并且利用自动工具执行用例被称为自动测试。
效率消耗时间并单调:由于测试用例是由人力资源执行,所以非常缓慢并乏味。快速自动化运行测试用例时明显比人力资源快。
人力资源要求人力资源上投资巨大:由于测试用例需要人工执行,所以在人工测试上需要更多的试验员。
人力资源投资较少:测试用例由自动工具执行,所以在自动测试中需要较少的试验员。
可信度可信度较低:人工测试可信度较低是可能由于人工错误导致测试运行时不够精确。
可信度更高:自动化测试每次运行时精确地执行相同的操作。
程式化

非程式化:编写复杂并可以获取隐藏的信息的测试的话,这样的程序无法编写。

程式化:试验员可以编写复杂的测试来显示隐藏信息。

什么是 JUnit?

JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。

JUnit 促进了“先测试后编码”的理念,强调建立测试数据的一段代码,可以先测试,然后再应用。这个方法就好比“测试一点,编码一点,测试一点,编码一点……”,增加了程序员的产量和程序的稳定性,可以减少程序员的压力和花费在排错上的时间。

特点:

  • JUnit 是一个开放的资源框架,用于编写和运行测试。
  • 提供注解来识别测试方法。
  • 提供断言来测试预期结果。
  • 提供测试运行来运行测试。
  • JUnit 测试允许你编写代码更快,并能提高质量。
  • JUnit 优雅简洁。没那么复杂,花费时间较少。
  • JUnit 测试可以自动运行并且检查自身结果并提供即时反馈。所以也没有必要人工梳理测试结果的报告。
  • JUnit 测试可以被组织为测试套件,包含测试用例,甚至其他的测试套件。
  • JUnit 在一个条中显示进度。如果运行良好则是绿色;如果运行失败,则变成红色。

什么是一个单元测试用例?

单元测试用例是一部分代码,可以确保另一端代码(方法)按预期工作。为了迅速达到预期的结果,就需要测试框架。JUnit 是 java 编程语言理想的单元测试框架。

一个正式的编写好的单元测试用例的特点是:已知输入和预期输出,即在测试执行前就已知。已知输入需要测试的先决条件,预期输出需要测试后置条件。

每一项需求至少需要两个单元测试用例:一个正检验,一个负检验。如果一个需求有子需求,每一个子需求必须至少有正检验和负检验两个测试用例。