本文講解了Dunit的基本使用方法,是我再初識Dunit的一點積攢,現(xiàn)在總結(jié)出來供Dunit學(xué)習(xí)者起步之用,至于更深入的研究還靠讀者們的細心研究與不斷的實踐再實踐!本文如有講解錯誤之處還請讀者朋友們積極提出,我們共同討論,共同進步!
Dunit初步詳解
一、安裝Dunit
將dunit-9.2.1(本文以dunit-9.2.1為例)解壓縮到文件夾F:DUnit案例dunit-9.2.1,
(dunit-9.2.1無需安裝,它提供的是測試框架和一些測試類,只需要在Delphi中調(diào)用即可)
主要類型:
TestFramework.pas 框架本身
TestExtensions.pas 可用來擴充測試案例的 Decorator 類?
GUITesting.pas 用來測試使用者介面的類?
TextTestRunner.pas 在主控臺模式下執(zhí)行測試的函式
GUITestRunner.pas 此框架的圖形化使用者界面
GUITestRunner.dfm GUITestRunner Form
二、設(shè)計測試案例
本文以Delphi 6開發(fā)環(huán)境為例,在這里我介紹兩種單元測試案例:
一種是簡單的不需調(diào)用其他Project的測試案例TestCase1;
另一種是調(diào)用其他Project中函數(shù)的測試案例TestCase2。
下面開始我們的Dunit之旅:
TestCase1
1.首先將Dunit的路徑加載到Delphi中,
Tools ->Environment ->Options ->Library->Library path,
注意:一定要把路徑名給到src文件夾下。
2.新建一個項目,關(guān)閉Delphi自動啟動的Form1,Unit1.新建一個沒有Form的項目,F(xiàn)ile->New->Unit,保存:將項目保存為Project1Test.dpr,Unit1保存為Project1TestCases.pas。
在Project1TestCases.pas中敲入如下代碼:
(你可以用如下代碼替換掉Project1TestCases.pas中的代碼,假如你很懶的話。
unit Project1TestCases;
interface
uses
TestFrameWork; // TestFrameWork是每個測試用例都必須使用的類
type
TTestCaseFirst = class(TTestCase) // TTestCase包含在TestFrameWork中
published
procedure TestFirst; // 聲明一個測試用例
end;
implementation
procedure TTestCaseFirst.TestFirst;
begin
Check(1 + 1 = 2, 'Catastrophic arithmetic failure!');
end;
initialization
TestFramework.RegisterTest(TTestCaseFirst.Suite); // TestFramework.RegisterTest 程序會把傳入的測試案例組件注?到此框架的注?系統(tǒng)里
end.