您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 >
Delphi单元测试工具Dunit介绍
作者:网络转载 发布时间:[ 2013/3/7 13:32:36 ] 推荐标签:

    那么运行的结果如下:

    这是一个简单的TestSuite的使用,我们将TestCaseFirst和TestCaseSecond放到Simple suite中来进行管理。

    对于复杂的应用,我们也可以使用多层的TestSuite来进行管理。先增加一个函数:

    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创建一个一层的TestSuite, BtestSuite.然后在将BtestSuite加入到AtestSuite。

    后将initialization处的代码改为如下:

    initialization

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

    end.

    注册AtestSuite可以了,以下是运行结果:

    控制台(console)模式
    如果想在Dos方式下直接运行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.

    先定义应用程序类型,加入{$APPTYPE CONSOLE},然后使用TextTestRunner替代GUITestRunner可以了。

    确省情况下,测试程序将把运行所有的TestCase后给出报告,如果想在达到一定错误停止运行,可以使用

    TextTestRunner.RunRegisteredTests(rxbHaltOnFailures);

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

    TestExtensions, // needed for TrepeatedTest

    Dunit的主要附加功能有:

    1、重复运行某一TestCase

    2、使用TtestSetup类初试化

    Dunit的TestExtensions还提到了两个类TactiveTest、TexceptionTestCase来实现:

    3、在独立线程中运行测试

    4、Exception测试

    但在Dunit中的新源码,这两个类只是简单继承了TtestDecorator而没有做任何的修改,在Dunit的Readme中也没有提到这两个类的用法。因此应该属于还没有实现的类。

    重复运行TestCase
    要重复运行某一TestCase,只需要将initialization里面的注册代码

    TestFramework.RegisterTest(TTestCaseFirst.Suite);

上一页1234下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd