我们有一个大型的Delphi项目(150万行代码),我们正在转向使用敏捷流程。
我们已经有了一个持续集成环境(FinalBuilder),我已经对其进行了更新,以便在发给开发团队中每个人的电子邮件中包含单元测试(dUnit)和代码度量(CodeHealer)。我们的单元测试覆盖率不是很高,所以我现在正在尝试将AQtime加入其中,以获得每个构建的一些测试覆盖率结果。
我使用"Execute Program“任务来运行单元测试可执行文件,记录结果,然后解析文件。我打算使用"Run Script“任务来运行AQtime (通过COM),并将结果导出为XML,这样我就可以解析这些结果。
我遇到的问题是AQtime运行单元测试可执行文件,我失去了直接监视单元测试可执行文件的能力。我想让FinalBuilder来解析这两个任务的结果。有人知道如何在从AQtime调用dUnit结果时访问它吗?
发布于 2010-02-26 04:26:52
我们沿着同样的路径运行,并且我们不从AQTime运行DUnit测试,
相反,我们使用FinalBuilder构建和运行Dunit测试。
我们的单元测试使用XmlTestRunner,然后我们可以很容易地知道测试是否失败,对生成的XML使用XPath查询。
更新: FinalBuilder 7.0的最新更新现在支持DUnit。它是通过它自己的XMLTestrunner.pas实现的,该目录在安装后位于FinalBuilder目录下。此运行器以与NUnit相同的格式输出测试结果。然后,它可以很好地集成到FinalBuilder服务器中。
发布于 2010-02-22 23:08:15
:你在描述我们正在慢慢进化的系统。
一个解决方案可能是让AQTime分析这些控制台应用程序,同时仍然能够将结果通过管道传输到一个文件,然后可以进行解析?!
另一个解决方案可能是实现您自己的TestListener对象,并让该对象将测试结果写入事件日志,直接写入日志文件、数据库或任何您喜欢的地方,并由FinalBuilder拾取。
而不是在您的项目文件中包含类似以下内容
Application.Initialize;
if System.IsConsole then TextTestRunner.RunRegisteredTests
else GUITestRunner.RunRegisteredTests;它会变成这样
Application.Initialize;
if System.IsConsole then OurEventLogTestRunner.RunRegisteredTests
else GUITestRunner.RunRegisteredTests;https://stackoverflow.com/questions/2308009
复制相似问题