您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > DBunit
单元测试工具Dunit介绍
作者:网络转载 发布时间:[ 2013/1/29 15:56:21 ] 推荐标签:

  创建一个简单的例子

  创建一个被测试的Project

  创建一个名为BeTestProject 的Project,将确省的Unit1 保存为BeTestUnit.pas文件。把确省的TForm1 改名为BeTestForm 中增加一个Public 的函数

  BeTestFunction,BeTestFunction 代码如下:
  function BeTestForm.BeTestFunction(i,j:integer):integer;
  begin
  Result:=i*j;
  end;

  创建一个测试Project

  创建新的Project

  再创建一个Project,命名为TestProject。如果没有和BeTestProject 放在同一目录,将BeTestProject的存放路径加到加到菜单Tools>Environment Options 里面的Library->Library Path 中。

  编写TestCase

  删除确省的Unit1(Form1),创建一个的Unit,注意不是Form.

  将创建的Unit 保存为TestUnit,在interface 中加入以下代码

  uses
       TestFrameWork,BeTestUnit;

       TestFrameWork 是每个TestCase 都必须使用的,后面要使用的TtestCase 等类的定义都在TestFrameWork 中。BeTestUnit 是将要被测试单元。

  定义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.

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