|
解压后文档结构
DUnit
|____framework (事先编译好的框架模块)
|
|____src (函式库原始码)
|
|____doc (辅助说明档,网页与 MPL 授权许可)
| |
| |____ images (网页的图形档案)
| |
| |____ API (Time2Help 产生的 API 文件)
|
|____Contrib 其它人贡献的模块
| |
| |____XPGen ( 一个可以自动产生测试案例(test cases)的工具
|____tests (给这个框架本身所使用的测试案例
|
|____bin (事先编译好,可以单独执行的 GUI 测试程序
|
|____examples
|
|____cmdline (示范如何在命令列环境下使用 DUnit
|
|____collection (一个类似 Java 的集合(collections)实作以及它的 DUnit 测试案例
|
|____registration (使用测试案例注册系统(registration system)
|
|____structure (组织测试程序代码的方式
| |
| |____diffunit (把测试案例放在独立的单元里面
| |
| |____sameunit (把测试案例和被测试的程序代码放在同一个单元里面
|
|____registry (一步步教你建立一个存取 Registry 的工具及其测试案例
|
|____embeddable (示范如何将 GUITestRunner 嵌入至其它窗口内
目录 src 包含下列档案
TestFramework.pas 框架本身
TestExtensions.pas 可用来扩充测试案例的 Decorator 类别
GUITesting.pas 用来测试使用者接口(窗口与对话盒)的类别
TextTestRunner.pas 在主控台模式下执行测试的函数
GUITestRunner.pas 此框架的图形化使用者接口
GUITestRunner.dfm 此框架的图形化使用者窗口
在开始使用 DUnit 之前,Delphi 的单元搜寻路径里必须包含 DUnit 的原始码或编译后的档案路径 。你可以在 Delphi IDE 中点选 Tools | Environment Options | Library,然后把 DUnit 路径加到原有的路径清单里:
1.建立一个工程Project1Test.dpr
在你想要测试的应用程序的相同目录下的 'real life' 目录
2.点选 File | New | Unit 以建立一个新的(没有 form 的)单元
取文件名称" Project1TestCases.pas "
3.在单元文件"Project1TestCases.pas"中interface 的 uses 子句里加入 TestFramework。
4.宣告一个 TTestCaseFirst 类别,该类别继承自 TTestCase,然后实作一个如下所示的 TestFirst 方法(显然地,这个小范例只是为了让你顺利起步),注意最后的 initialization 区段,TTestCaseFirst 类别就是在这里完成注册的。
unit Project1TestCases;
interface
uses
TestFrameWork;
type
TTestCaseFirst = class(TTestCase)
published
procedure TestFirst;
end;
implementation
procedure TTestCaseFirst.TestFirst;
begin
Check(1 + 1 = 2, 'Catastrophic arithmetic failure!');
end;
initialization
TestFramework.RegisterTest(TTestCaseFirst.Suite);
end.
//注意:TestFramework.RegisterTest 程序会把传入的测试案例对象注册到此框架的注册系统里。
5.在执行这个项目以前,点选主选单的 Project | View Source 以开启项目的原始码,把 TestFrameWork 以及 GUITestRunner 加到 uses 子句里,然后移除预设的 Application 程序代码,并以下面的程序代码取代:
program Project1Test;
uses
Forms,
TestFrameWork,
GUITestRunner,
Project1TestCases in 'Project1TestCases.pas';
{$R *.RES}
begin
Application.Initialize;
GUITestRunner.RunRegisteredTests;
end.
6.现在试着执行程序,如果一切正常,你应该会看到 DUnit 的 GUITestRunner 窗口,里面有一个树状元件显示可用的测试(目前只有 TestFirst),点一下 Run 按钮即可执行测试。画面上的复选框可以让你以阶层的方式选择欲测试的项目,还有额外的按钮以便切换测试项目或整个分支的选取状态。 |
|