以前写Java时候经常使用一款单元测试工具JUnit,工作之后在用Delphi,自然也要换到Delphi下面的单元测试工具DUnit。
DUnit是XUnit家族中的一员,是Extreme Programming测试实现Xtreme Testing的一种工具。
DUnit的用法和JUnit很类似,如果有相关经验很容易上手。这里是DUnit的官方地址:http://dunit.sourceforge.net/ ,下载地址:http://sourceforge.net/projects/dunit/
将DUnit解压至任意目录(我习惯在D:/Study/DelphiLib/),打开Delphi 7,将DUnit路径添加到 Tools- > Environment Options 里面的 Library -> Library Path,这样DUnit就安装完成了。
如果有装过CnPack 的Delphi工具包,就可以很轻松的在 File -> New -> Other -> CnPack -> DUnit测试实例生成向导 中建立新的测试用例。
下面是我的一个简单的测试用例,测试AppFun中的 GetString() 和 Add() 方法。
TAppFun.pas (* UTest by Jason 2010-01-06 21:30 *) unit AppFun; interface uses SysUtils; type TAppFun = class(TObject) public class function GetString(sName: string; iAge: Integer): string; class function Add(iA: Integer; iB: Integer): Integer; end; implementation class function TAppFun.GetString(sName: string; iAge: Integer): string; begin result := 'Hello ' + sName + ', your age is ' + IntToStr(iAge); end; class function TAppFun.Add(iA: Integer; iB: Integer): Integer; begin Result := iA + iB; end; end. UTest.pas (* UTest by Jason 2010-01-06 21:30 *) unit UTest; interface uses Windows, SysUtils, Classes, TestFramework, TestExtensions; type TTest = class(TTestCase) protected procedure SetUp; override; procedure TearDown; override; published procedure Test; procedure TestGetString(); end; implementation uses AppFun, Dialogs; procedure TTest.Setup; begin ShowMessage('In Setup!'); end; procedure TTest.TearDown; begin ShowMessage('In TearDown!'); end; procedure TTest.Test; begin Self.Check(TAppFun.GetString('Jason', 22) = 'Hello Jason, your age is 22', 'Second Test'); end; procedure TTest.TestGetString(); begin Check(TAppFun.Add(3, 5) = 8, 'First Test'); end; initialization TestFramework.RegisterTest(TTest.Suite); end. |