知识大全 用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学设计模式之简单工厂篇 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!工厂模式
用DELPHI开发DirectX游戏 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!这不是一篇关于D
用Delphi开发视频聊天软件(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
用Delphi开发视频聊天软件(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
用Delphi开发视频聊天软件(三) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
用Delphi6开发ASP上传组件详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 文件上传是
用DELPHI开发自动化服务器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 自动化是从一个应用程
用Delphi开发数据库程序经验三则 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 建立临时表
用Delphi开发数据库程序经验三则 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一建立临时表
用Delphi开发Web服务数据库程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!第一步编写服务