知识大全 用Delphi2005和DUnit搭建敏捷开发平台

Posted 工程

篇首语:存储阳光,必有远芳;心中有暖,又何惧人生荒凉。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用Delphi2005和DUnit搭建敏捷开发平台相关的知识,希望对你有一定的参考价值。

用Delphi2005和DUnit搭建敏捷开发平台  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

之前用的是Java那一套东西 有Eclipse什么都搞定了 现在因为要用Delphi改一个即时通讯软件的缘故 想着怎么能把重构和单元测试那一套搬到Delphi这边来 书上说给现有的代码加单元测试能够加深对代码的理解 并且可以作为改善代码的基础 这不正是我要做的事情吗?于是 为了搭建这么一个敏捷平台 我以Delphi 和DUnit进行了一点小小的尝试 并把结果记录于下 与大家分享      下载Delphi   因为Borland公司在中国不出售专业版本 鉴于架构师和企业版的天价 所以只能从网络上下载一个D版的做个人使用 Delphi 体积比较大 而且Update 也需要CD 所以推荐用BT下载 CD版本 种子的地址如下        下载Delphi 的sp   据说打过这个补丁之后能快一些 但是这个补丁安装起来可慢了 还需要用光盘 下载地址如下        下载DUnit       安装Delphi +sp   注意一下keygen中有一个register以及安装的时候一定要同时安和win 版本的delphi C#builder则无所谓 因为如果只安装win 版本会导致重构功能不可用(这是delphi 的一个bug 表现就是用重构的时候出的异常窗口)      精简Delphi   因为上一步的时候同时安装版本 导致delphi启动的时候变得非常慢 这个可以通过修改注册表 删掉一些IDE的包来实现 具体的做法是在Delphi的快捷方式目标后面加上参数 rxxx 也就是BDS exe rxxx 这个xxx任由你指定 然后你就会在HKEY_CURRENT_USER\\Sofare\\Borland\\xxx(这个就是你选定的名字xxx)\\ \\Known IDE Packages中发现那些该死的包 注意不能和网络上别的win 纯化分子那样删得太干净了 那样重构就没法用了 我自己试验多次之后得出的一个比较精简的列表如下   $(BDS)\\\\Bin\\\\vclmenudesigner bpl = (Untitled)    $(BDS)\\\\Bin\\\\win debugproide bpl = (Untitled)    $(BDS)\\\\Bin\\\\ide bpl = HTML Designer Package    $(BDS)\\\\Bin\\\\iteidew bpl = Borland Integrated Translation Environment for Win    $(BDS)\\\\Bin\\\\SrcManIDE bpl = (Untitled)    $(BDS)\\\\Bin\\\\todoide bpl = Borland ToDo    $(BDS)\\\\Bin\\\\help bpl = Borland HtmlHelp Viewer    $(BDS)\\\\Bin\\\\idefilefilters bpl = IDE File filters    $(BDS)\\\\Bin\\\\startpageide bpl = Borland Start Page IDE Package    $(BDS)\\\\Bin\\\\refactoride bpl = Borland Core Refactoring Package    $(BDS)\\\\Bin\\\\dbkdebugide bpl = (Untitled)    $(BDS)\\\\Bin\\\\exceptiondiag bpl = (Untitled)    $(BDS)\\\\bin\\\\deployide bpl = Deployment Manager    $(BDS)\\\\Bin\\\\plugview bpl = Pluggable Tree View Package    $(BDS)\\\\Bin\\\\coreproide bpl = Core IDE Pro Package    $(BDS)\\\\Bin\\\\IDETools bpl = Build Tools    $(BDS)\\\\Bin\\\\unittestide bpl = (Untitled)    $(BDS)\\\\Bin\\\\historyide bpl = (Untitled)    $(BDS)\\\\Bin\\\\tidy bpl = HTML Tidy Formatter    $(BDS)\\\\Bin\\\\HTMLFmt bpl = HTML Internal Formatter    $(BDS)\\\\Bin\\\\mlcc bpl = Markup Language Code Completion Package    $(BDS)\\\\Bin\\\\delphivclide bpl = Delphi VCL Designer IDE Package    $(BDS)\\\\Bin\\\\delphicoreproide bpl = (Untitled)    $(BDS)\\\\Bin\\\\win debugide bpl = (Untitled)    $(BDS)\\\\Bin\\\\ide bpl = (Untitled)    $(BDS)\\\\Bin\\\\delphide bpl = Delphi Win IDE Personality    $(BDS)\\\\Bin\\\\mtspro bpl = (Untitled)    $(BDS)\\\\Bin\\\\mtsent bpl = (Untitled)    $(BDS)\\\\Bin\\\\iteidenet bpl = Borland Integrated Translation Environment for NET    $(BDS)\\\\Bin\\\\NetImportWiz bpl = (Untitled)    $(BDS)\\\\Bin\\\\DataExplorer bpl = (Untitled)   虽然启动还是有些慢 不过总算能忍受了      编译并安装DUnit  用你知道的办法把DUnit编译成dcu 放入你指定的目录 并把该目录添加到Delphi的Tools >Environment Options >Delphi Options >Library win 的Library Path中   另外把DUnit exe给编译出来     建立工程  我推荐的方式是写Delphi程序的时候把界面和后台分开 具体就是开两个项目 一个普通的VCL项目 一个DLL项目 不 不 我的意思并不是让你用DLL这种方式来共享代码 这个DLL项目包含文件是所有后台的内容 以及对后台的测试 产生的DLL给DUnit用 DUnit能够从其中读出测试并运行 而实际上GUI部分的那个工程是包含了所有的文件的 也就是说分与其说分两个工程 不如说是在原来的单个工程的基础上加上了一个专门用于测试的DLL工程   项目分为三块 GUI Core TestCore 工程一包括GUI+Core 工程二包括Core+TestCore 工程一的输出是Win Exe程序 工程二输出是Win Dll程序   然后可以把这两个工程放到一个Project Group中      编写测试  工程一和普通写Dephi程序没有什么两样 要记得把GUI的功能分出来后台 让后台Testable 测试都是写在工程二中的 我把工程二的名字就叫做Core 下面就在Core中添加一个最基本的测试 检查 + 是不是等于   建立TestCase    unit TestBasic;    interface    uses   TestFramework;    type   TBasic = class   public    function Add(a b: integer): integer;   end;     TTestBasic = class(TTestCase)   private    FBasic: TBasic;   public    procedure SetUp; override;    procedure TearDown; override;   published    procedure TestAdd;   end;    implementation    function TBasic Add(a b: integer): integer;  begin   Result := a + b;  end;    procedure TTestBasic SetUp;  begin   FBasic := TBasic Create;  end;    procedure TTestBasic TearDown;  begin   FBasic Free;  end;    procedure TTestBasic TestAdd;  begin   CheckEquals( FBasic Add( ));  end;    initialization   RegisterTest( TTestBasic Suite);    end     修改Core bdsproj(KAO 什么古怪的后缀啊)  把begin end 改成  exports   RegisteredTests name Test ;  end   并在Uses部分添加TestFramework     DUnit就是通过这个export的函数在dll中找出我们注册的TestCase的      运行DUnit  把DUnit添加到Tools菜单下吧 那样方便许多 只是参数不好填写 我没有用里面的macro 直接填了绝对路径 如果你和我一样这样直接填的绝对路径 那么从Tools菜单下选DUnit就能直接看到一个测试列表了 点运行就会看到一个绿灯亮起了   如果你不是把DUnit添加到Tools菜单 那么就要从File >Load Test的文件选择窗口中找到Core项目编译出来的dll core dll cha138/Article/program/Delphi/201311/24654

相关参考

知识大全 用Delphi2005学设计模式之简单工厂篇

用Delphi2005学设计模式之简单工厂篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!工厂模式

知识大全 用DELPHI开发DirectX游戏

用DELPHI开发DirectX游戏  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!这不是一篇关于D

知识大全 用Delphi开发视频聊天软件(一)

用Delphi开发视频聊天软件(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 用Delphi开发视频聊天软件(二)

用Delphi开发视频聊天软件(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 用Delphi开发视频聊天软件(三)

用Delphi开发视频聊天软件(三)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 用Delphi 6开发ASP上传组件详解

用Delphi6开发ASP上传组件详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  文件上传是

知识大全 用DELPHI开发自动化服务器

用DELPHI开发自动化服务器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 自动化是从一个应用程

知识大全 用Delphi 开发数据库程序经验三则

用Delphi开发数据库程序经验三则  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  建立临时表 

知识大全 用Delphi开发数据库程序经验三则

用Delphi开发数据库程序经验三则  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一建立临时表  

知识大全 用Delphi开发Web服务数据库程序

用Delphi开发Web服务数据库程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!第一步编写服务