关闭

Delphi 的单元测试工具DUnit

发表于:2013-9-23 11:58

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:menogen    来源:51Testing软件测试网采编

  以前写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.

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号