今天,我们来介绍两种软件测试框架——JUnit和NUnit。
一、JUnit:
在介绍JUnit之前,先来简单说一下Java类的测试。Java 类测试是 Java 应用开发的重要步骤。Java 类测试分为基本类测试、组合类测试和分布式组件测试。而Junit 工具主要针对 Java 基本类测试和组合类测试。
Java基本类的特点是,类的成员变量类型、类方法的参数类型是 Java 基本类型。组合类的特点是,类的成员变量类型可以是非 Java 基本类型的类、类方法的参数类型可以是非 Java 基本类型。Java基本类测试是 Java 组合类测试的基础。而Junit具有一个回归测试框架,它为Java软件测试人员测试基本类、组合类提供方便。
Junit 主要由 framework、runner、textui、swingui、awtui 包构成。Framework 包中包含了 Junit 测试类所需的所有基类,它是整个 Junit 的基础框架。Runner包作用分为两部分,定义 Junit 测试框架的交互形式以及完成测试类的载入工作。Textui、Swingui、Awtui 包则是Junit中共有的3个运行器。其中Textui测试是最快的,也是JUnit推荐的测试执行模式。
二、NUnit:
NUnit是由 JUnit改造而来的。NUnit框架中主要有 5 个对象类:Test类、TestM ethod 类 、TestSuite 类 、TestResult 类 和Assert类。Test类的实例对象指一个测试案例。TestMethod 类继承自 Test类,所有测试实例的运行方法最终在该类中实现。TestSuit类的实例对象指一组测试案例。TestResult类的实例指TestCase 运行的结果,它是一个抽象类,在 NUnit中,有两个类继承自 TestResult类:TestCaseResult和 Test-SuiteResult。
NUnit框架的基本原理如下:将所有标有测试属性的类和方法放到一个TestSuiteTreeView中,当选中某个节点时,新建一个当前选中节点的标有[TestFixture]属性的类的实例,然后在 Run 方法中调用该实例中的当前节点所表示的测试方法,运行后将测试结果存入一个 TestCase Result对象中,然后在界面的进度条中相应地作出显示。