以前写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.
从上面的代码可以看出,XUnit系列风格都比较类似,很容易操作。
DUnit还有一些更高阶的操作,比如在控制台输出/在独立线程中运行测试/Exception测试等等,详细操作可以参考下列文档。目前我用到的就是简单的单元测试 。
一点资料:
- DUnit 的官方地址
- DUnit 下载地址
- DUnit 官方文档(英文)
- DUnit 官方文档(繁体中文)
- 『Delphi园地』-Delphi单元测试工具Dunit介绍
- Delphi单元测试工具Dunit介绍_51Testing软件测试网
Delphi宝刀不老啊~呵呵~
原文链接: Delphi 的单元测试工具DUnit | Log4D
3a1ff193cee606bd1e2ea554a16353ee
欢迎关注我的微信公众号:窥豹