亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 >
Delphi單元測試工具Dunit介紹
作者:網絡轉載 發布時間:[ 2013/3/7 13:32:36 ] 推薦標簽:

    定義TestCase,測試類定義代碼如下:

    TTestCaseFirst = class(TTestCase)

    private

    BeTestForm : TBeTestForm; //要測試的類

    protected

    procedure SetUp; override; //初始化類

    procedure TearDown; override; //清除數據

    published

    procedure TestFirst; //第一個測試方法

    procedure TestSecond; //第二個測試方法

    end;

    在定義測試方法時候注意,Dunit是通過RTTI(RunTime Type Information)來尋找并自動注冊測試方面的,具體實現是通過代碼

    TestFramework.RegisterTest(TTestCaseFirst.Suite);

    這段代碼將在后面提到,TtestCaseFirst.Suit在尋找的規則是:

    1、測試方法是沒有參數的Procedure

    2、測試方法被申明為Published

    SetUp,TearDown是在運行測試方法前、后運行的,所有一般把要測試的類的初始化及清除放在這兩個過程中。

    以下是實現的代碼:

    procedure TTestCaseFirst.SetUp;

    begin

    BeTestForm := TBeTestForm.Create(Nil);

    end;

    procedure TTestCaseFirst.TearDown;

    begin

    BeTestForm.Destroy;

    end;

    procedure TTestCaseFirst.TestFirst; //第一個測試方法

    begin

    Check(BeTestForm.BeTestFunction(1,3) = 3,'First Test fail');

    end;

    procedure TTestCaseFirst.TestSecond; //第二個測試方法

    begin

    Check(BeTestForm.BeTestFunction(1,3)=4,'Second Test fail');

    end;

    //Register TestCase

    initialization

    TestFramework.RegisterTest(TTestCaseFirst.Suite);

    end.

    Check是TestCase類提供的一個方法。以下是TestCase的實現代碼:

    procedure TTestCase.Check(condition :boolean; msg :string);
    begin
    if (not condition) then
    Fail(msg, CallerAddr);
    End;

    如果Check沒有通過的話,Dunit將報錯。錯誤提示在第二個參數中定義,其他有關類及方法的定義請看連機文檔,文檔放在

    Dunit安裝目錄docAPIIDH_Library_DUnit_-_Xtreme_Unit_Testing_for_Delphi.htm

    Initialzation代碼完成測試單元的注冊。

    修改Project主文件
    運行前的后一步是修改Project主文件TestProject.dpr。先使用菜單Project->View Source打開TestProject.dpr.

    修改后的代碼如下:

    program TestProject;

    uses

    Forms,

    TestFrameWork,

    GUITestRunner,

    TestUnit in 'TestUnit.pas';

    {$R *.res}

    begin

    Application.Initialize;

    //Application.Run;

    GUITestRunner.RunRegisteredTests;

    end.

    上面的加粗代碼是要增加和修改。

    運行測試例子
    運行的測試結果如下:

    使用TestSuite
    使用TestSuite的目的是對TestCase進行分類管理,如果我們再增加一個TestCase 如下

    TTestCaseSecond = class(TTestCase)

    published

    procedure TestThrid;

    end;

    添加TestThrid實現代碼后,在initialization代碼處增加

    TestFramework.RegisterTest(TTestCaseSecond.Suite);

    運行以后我們可以看到結果如下:

    如果我們將initialization處的代碼改為如下:

    initialization

    TestFramework.RegisterTest('Simple suite',TTestCaseFirst.Suite);

    TestFramework.RegisterTest('Simple suite',TTestCaseSecond.Suite);

    end.

上一頁1234下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 嗯灬啊灬用力再用力ca视频 | 99热精品一区 | 91久久亚洲最新一本 | 亚州激情 | 老太性开放bbwbbwbbw | 久久天天躁狠狠躁夜夜中文字幕 | 欧美一级高清在线观看 | 高清波多野结衣一区二区三区 | 日韩三级小视频 | 日韩福利片午夜在线观看 | 亚洲美色视频 | 一及黄色片| 动漫美女胸被狂揉扒开吃奶动态图 | 久久精品亚洲欧美日韩久久 | 综合影院| 欧美人成在线 | 欧美成人福利视频 | 欧美日本三级 | 久操精品在线观看 | 免费国产h视频在线观看 | 国产在线观看xxxx免费 | 亚洲欧美一级视频 | 一级片在线视频 | 又黄又爽又色的视频在线看 | 九九热视频在线免费观看 | 日韩伦理免费在线观看 | 欧美日韩国产高清 | 国语性猛交xxxx乱大交 | 男女生性毛片免费观看 | 天堂视频免费看 | 黑人与中国女一级毛片不卡 | 午夜精品国产爱在线观看不卡 | 日韩欧美福利 | 人牛交videos欧美hd | xxx69日本hd| 日韩影视在线观看 | 欧美国产亚洲精品高清不卡 | 国产综合色香蕉精品五月婷 | 色黄网站成年女人色毛片 | 美女一级毛片免费不卡视频 | 免费看一级黄色 |