单元测试1框架是软件测试框架2的一种。
包括了xUnit,JUnit,QUnit,NUnit等。而其中的JUnit,QUnit,NUnit都是xUnit家族中的成员。
xUnit
xUnit是各种代码驱动测试框架的统称,可以测试软件的不同单元。xUnit的特点是:提供了一个自动化测试3的解决方案,无须多次编写重复的测试代码,也无须记住该测试的预期结果。
四要素:
测试Fixtures
Fixture指被测试的目标。而测试Fixture是一组单元测试成功的预定条件或预期结果的设定。
测试集
测试集是一组测试用例。但同一组内的测试用例必须有相同的测试Fixture。
测试执行
单个的单元测试的执行需要按照一定的方式进行。
断言
断言是验证被测试的程序在测试中的行为或状态的一个宏4或函数。若断言失败,则代表引发异常,终止测试的继续执行。
JUnit
JUnit 是 Java 社区中知名度最高的单元测试工具,一个开发源代码的Java测试框架,用于编写和运行可重复的测试,主要用于白盒测试,回顾测试。
优点:
1. 极限编程
极限编程是指要求在编写代码前,需先写测试,强制写代码之前先思考代码的功能和逻辑,防止编写的代码出现不稳定状况。因此在极限编程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,即“先写测试,再写代码”。
2.重构
编写测试和编写代码都是增量式的,就是写一点测一点,这样一来,在编写以后的代码中如果发现问题,就可以较快的追踪到问题的原因,减小回归错误的纠错难度和时间消耗。
QUnit
QUnit是对avaScript进行单元测试的框架,Javasscript 的单元测试和编程语言相比非常不同,我们需要一个小的测试框架来运行测试用例,同时也作为一组编写单元测试的工具。QUnit不仅可以测试任何常规JavaScript代码,还可以通过一些像Rhino或者V8这样的JavaScript引擎,来测试服务端JavaScript代码。
NUnit
NUnit是一个单元测试框架,专门针对于.NET5来写的。完全由C#语言来编写,并且编写时利用了许多.NET的特性。其最大的优点是适用于所有的.NET语言。
注释:
1. 单元测试:属于软件工程里的白盒测试,也就是测试某个类的某个方法的功能。
2. 软件测试框架:是测试开发过程中提取特定领域测试方法共性部分形成的体系结构;
3. 自动化测试:把以人为驱动的测试行为转化为机器执行的一种过程。
4. 宏:是一种批量批处理的称谓。一般说来,是一种规则或模式,或称语法替换 ,用于说明某一 特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串)。
5. .NET:是微软用来实现XML,Web Services,SOA(面向服务的体系结构service-oriented architecture)和敏捷性的技术。