一、简介
DUnit是xUnit家族成员之一,源于著名的回归测试框架JUnit,由Juanco A?ez设计成Delphi版本,可以从dunit.sourceforge.net网站免费获得,最新版本9.2.1。获得dunit-9.2.1.zip文件后,解压缩到指定文件夹,我直接放到了本机的F:下。
二、配置类库
开发工具我使用的是Borland的Delphi 2006(正确的叫法应该是Borland Developer Studio 2006,以下简称BDS)。虽然BDS自带了DUnit,且通过“New Items”对话框中“Unit Test”下的各项就可以建立测试工程和测试用例,但这里将直接使用解压后的文件。此外本文将同时介绍如何在C++Builder和Delphi中使用DUnit,其中C++Builder部分源于猛禽的《在BCB中使用DUnit》。
打开BDS后,点击菜单“File”->“New”->“Other”,打开“New Items”对话框:
在该对话框中,选择“C++Builder Projects”或“Delphi Projects”,然后选择其中的“VCL Forms Application”,点击“OK”按钮。项目创建后先关闭Form1,由于此时项目尚未保存,BDS会提示是否保存,选择“No”,不保存,因为这里不需要Form1,需要的只是GUI运行环境。下面点击菜单“File”->“Save All”,在弹出的对话框中设置项目文件名称及保存位置,项目文件名称即项目名称,我的项目文件名称分别为NUnitCB.bdsproj和NUnitOP.bdsproj,并保存在本机的G:/YPJCCK/DUnit/Delphi/DUnitCB和G:/YPJCCK/DUnit/Delphi/DUnitOP文件夹中。
项目创建后,点击菜单“Project”->“Options”,弹出对话框:
在对话框的树型菜单中选择“Paths and Define”,然后在窗口右边选择与“Include search path”对应的“Edit”按钮,打开“Path”对话框:
请使用“…”按钮选择DUnit源码存放路径F:/dunit-9.2.1/src,再使用“Add”按钮将该路径添加到列表中。添加成功后点击“OK”按钮返回之前的窗口,再点击“OK”按钮返回项目。这是在C++Builder中。如果是在Delphi中,点击菜单“Project”->“Options”后弹出对话框如下:
在对话框的树型菜单中选择“Directories/Conditionals”,然后在窗口右边选择与“Search path”对应的“…”按钮,打开“Directories”对话框:
接下来的操作与之前一样。
设置好后,请点击菜单“Project”->“Add to Project”,将F:/dunit-9.2.1/src下的GUITestRunner.pas和TestFramework.pas文件添加到项目中。添加的时候,BDS可能会提示错误,相信我,不要管它。此外,如果是在C++Builder中,添加完成后请按下F9键,使程序运行一遍,以生成GUITestRunner.hpp和TestFramework.hpp文件,这两个文件将在后边用到。
三、编写用于测试的类
用于测试的类很简单,名为TBook,只有id和name两个属性,这两个属性将分别用于两个用例当中。
下面开始编写,请点击菜单“File”->“New”->“Other”,打开“New Items”对话框:
在该对话框中选择“C++Builder Projects” 下的“C++Builder Files”或“Delphi Projects”下的“Delphi Files”,然后选中“Unit”,点击“OK”按钮。此时Unit文件虽然在工程中已生成,但尚未保存在硬盘上,所以请先按下快捷键Ctrl + S,我将文件命名为Book.cpp和Book.pas。
文件创建后,需要修改代码,下边是C++Builder代码:
Book.h文件:
//---------------------------------------------------------------------------
#ifndef BookH
#define BookH
//---------------------------------------------------------------------------
#include <VCL.h>
class TBook
{