,我們來介紹兩種軟件測(cè)試框架——JUnit和NUnit。
一、JUnit:
在介紹JUnit之前,先來簡(jiǎn)單說一下Java類的測(cè)試。Java 類測(cè)試是 Java 應(yīng)用開發(fā)的重要步驟。Java 類測(cè)試分為基本類測(cè)試、組合類測(cè)試和分布式組件測(cè)試。而Junit 工具主要針對(duì) Java 基本類測(cè)試和組合類測(cè)試。
Java基本類的特點(diǎn)是,類的成員變量類型、類方法的參數(shù)類型是 Java 基本類型。組合類的特點(diǎn)是,類的成員變量類型可以是非 Java 基本類型的類、類方法的參數(shù)類型可以是非 Java 基本類型。Java基本類測(cè)試是 Java 組合類測(cè)試的基礎(chǔ)。而Junit具有一個(gè)回歸測(cè)試框架,它為Java軟件測(cè)試人員測(cè)試基本類、組合類提供方便。
Junit 主要由 framework、runner、textui、swingui、awtui 包構(gòu)成。Framework 包中包含了 Junit 測(cè)試類所需的所有基類,它是整個(gè) Junit 的基礎(chǔ)框架。Runner包作用分為兩部分,定義 Junit 測(cè)試框架的交互形式以及完成測(cè)試類的載入工作。Textui、Swingui、Awtui 包則是Junit中共有的3個(gè)運(yùn)行器。其中Textui測(cè)試是快的,也是JUnit推薦的測(cè)試執(zhí)行模式。
二、NUnit:
NUnit是由 JUnit改造而來的。NUnit框架中主要有 5 個(gè)對(duì)象類:Test類、TestM ethod 類 、TestSuite 類 、TestResult 類 和Assert類。Test類的實(shí)例對(duì)象指一個(gè)測(cè)試案例。TestMethod 類繼承自 Test類,所有測(cè)試實(shí)例的運(yùn)行方法終在該類中實(shí)現(xiàn)。TestSuit類的實(shí)例對(duì)象指一組測(cè)試案例。TestResult類的實(shí)例指TestCase 運(yùn)行的結(jié)果,它是一個(gè)抽象類,在 NUnit中,有兩個(gè)類繼承自 TestResult類:TestCaseResult和 Test-SuiteResult。
NUnit框架的基本原理如下:將所有標(biāo)有測(cè)試屬性的類和方法放到一個(gè)TestSuiteTreeView中,當(dāng)選中某個(gè)節(jié)點(diǎn)時(shí),新建一個(gè)當(dāng)前選中節(jié)點(diǎn)的標(biāo)有[TestFixture]屬性的類的實(shí)例,然后在 Run 方法中調(diào)用該實(shí)例中的當(dāng)前節(jié)點(diǎn)所表示的測(cè)試方法,運(yùn)行后將測(cè)試結(jié)果存入一個(gè) TestCase Result對(duì)象中,然后在界面的進(jìn)度條中相應(yīng)地作出顯示。