您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 >
Delphi單元測(cè)試工具Dunit介紹
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/7 13:32:36 ] 推薦標(biāo)簽:

    那么運(yùn)行的結(jié)果如下:

    這是一個(gè)簡(jiǎn)單的TestSuite的使用,我們將TestCaseFirst和TestCaseSecond放到Simple suite中來進(jìn)行管理。

    對(duì)于復(fù)雜的應(yīng)用,我們也可以使用多層的TestSuite來進(jìn)行管理。先增加一個(gè)函數(shù):

    function UnitTests: ITestSuite;

    var

    ATestSuite,BTestSuite: TTestSuite;

    begin

    BTestSuite := TTestSuite.Create('Some trivial tests',

    [

    TTestCaseFirst.Suite,

    TTestCaseSecond.Suite

    ]);

    ATestSuite := TTestSuite.create('Some other trivial tests');

    ATestSuite.addTest(TTestCaseFirst.Suite);

    ATestSuite.addTest(BTestSuite);

    Result := ATestSuite;

    end;

    我們先使用TtestSuite.Create創(chuàng)建一個(gè)一層的TestSuite, BtestSuite.然后在將BtestSuite加入到AtestSuite。

    后將initialization處的代碼改為如下:

    initialization

    TestFramework.RegisterTest('Simple Test', UnitTests);

    end.

    注冊(cè)AtestSuite可以了,以下是運(yùn)行結(jié)果:

    控制臺(tái)(console)模式
    如果想在Dos方式下直接運(yùn)行TestCase,只要修改Dpr文件即可。

    {$APPTYPE CONSOLE}

    program TestProject;

    uses

    Forms,

    TestFrameWork,

    GUITestRunner,

    TextTestRunner,

    TestUnit in 'TestUnit.pas';

    {$R *.res}

    begin

    Application.Initialize;

    // GUITestRunner.RunRegisteredTests;

    TextTestRunner.RunRegisteredTests;

    end.

    先定義應(yīng)用程序類型,加入{$APPTYPE CONSOLE},然后使用TextTestRunner替代GUITestRunner可以了。

    確省情況下,測(cè)試程序?qū)堰\(yùn)行所有的TestCase后給出報(bào)告,如果想在達(dá)到一定錯(cuò)誤停止運(yùn)行,可以使用

    TextTestRunner.RunRegisteredTests(rxbHaltOnFailures);

    Dunit附加功能
    使用Dunit的附加功能要先在Uses中加入:

    TestExtensions, // needed for TrepeatedTest

    Dunit的主要附加功能有:

    1、重復(fù)運(yùn)行某一TestCase

    2、使用TtestSetup類初試化

    Dunit的TestExtensions還提到了兩個(gè)類TactiveTest、TexceptionTestCase來實(shí)現(xiàn):

    3、在獨(dú)立線程中運(yùn)行測(cè)試

    4、Exception測(cè)試

    但在Dunit中的新源碼,這兩個(gè)類只是簡(jiǎn)單繼承了TtestDecorator而沒有做任何的修改,在Dunit的Readme中也沒有提到這兩個(gè)類的用法。因此應(yīng)該屬于還沒有實(shí)現(xiàn)的類。

    重復(fù)運(yùn)行TestCase
    要重復(fù)運(yùn)行某一TestCase,只需要將initialization里面的注冊(cè)代碼

    TestFramework.RegisterTest(TTestCaseFirst.Suite);

上一頁1234下一頁
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd