我们有一个庞大的Delphi项目(150万行代码),我们正在转向使用敏捷流程.
我们已经有了一个连续的集成环境(FinalBuilder),我已将其更新为包含单元测试(dUnit)和代码指标(CodeHealer)的电子邮件给我们开发团队中的每个人.我们的单元测试覆盖率并不高,所以我现在正试图将AQtime纳入混合,以便在每次构建时获得一些测试覆盖率结果.
我正在使用"执行程序"任务来运行单元测试可执行文件,记录结果并随后解析文件.我打算使用"运行脚本"任务来运行AQtime(通过COM)并将结果导出到XML,以便我可以解析这些结果.
我遇到的问题是AQtime运行单元测试可执行文件,我失去了直接监视单元测试可执行文件的能力.我想让FinalBuilder解析两个任务的结果.有没有人知道如何从AQtime调用dUnit结果?
我们一直在使用FinalBuilder作为Delphi项目的持续集成服务器.
目前,我们的构建由subversion签入自动触发,dUnit测试在构建单元测试可执行文件后运行,AQtime生成测试覆盖率统计信息,同时运行单元测试可执行文件.
我们的下一个目标是让我们的回归套件(在TestComplete 7中开发)作为夜间进程运行.我们已尝试通过COM启动TestComplete的vbs脚本和FinalBuilder本身附带的TestComplete任务.两种方法都以TestComplete方式启动,并且在交互式运行FinalBuilder项目时成功运行应用程序.
但是当我们将作业提交给FinalBuilder服务器时,TestComplete脚本崩溃,因为TestComplete似乎无法读取应用程序屏幕.我们认为这可以通过允许每个服务(TestComplete和FinalBuilder)与桌面交互来解决,但这不起作用.
有没有人能够让TestComplete 7项目在FinalBuilder中正常工作?
鉴于以下(大大简化)对象:
class Player < ActiveRecord::Base
has_many :characters
end
class Character < ActiveRecord::Base
belongs_to :player
delegate :name, :to => :player, :prefix => :player
end
Run Code Online (Sandbox Code Playgroud)
我需要在几个视图中显示播放器名称.但完全有效(并且预期)玩家可能是零.
我目前通过以下方法处理此问题:
class Character < ActiveRecord::Base
belongs_to :player
def player_name
player ? player.name : 'Unknown'
end
end
Run Code Online (Sandbox Code Playgroud)
出于几个原因我不喜欢这个.这样做有更好的方法吗?
delphi ×2
finalbuilder ×2
activerecord ×1
aqtime ×1
dunit ×1
ruby ×1
testcomplete ×1
unit-testing ×1