我使用DUnit框架为我的应用程序提供了一个单元测试项目.这个项目有一个单元,$IFDEF用于在xml文件而不是gui或just命令行中输出测试结果.通过切换Build配置启用XML_OUTPUT定义.
program DelphiCodeToDoc_Tests;
uses
TestFramework,
TextTestRunner,
Sysutils,
Forms,
GUITestRunner,
{$IFDEF XML_OUTPUT}
XmlTestRunner2 in 'DUnit_addon\XmlTestRunner2.pas',
{$ENDIF}
DCTDSetupTests in 'IntegrationTests\DCTDSetupTests.pas',
...
Run Code Online (Sandbox Code Playgroud)
这非常有效.当我从IDE(一个带有'File> New> Unit' 的新单元)向该项目添加一个新单元时,问题就出现了.
测试项目现在是:
uses
TestFramework,
TextTestRunner,
Sysutils,
Forms,
GUITestRunner,
DCTDSetupTests in 'IntegrationTests\DCTDSetupTests.pas',
...
MyNewUnit in 'IntegrationTests\MyNewUnit.pas';
Run Code Online (Sandbox Code Playgroud)
如您所见,测试XML_OUTPUT已消失...每次添加单元时,Delphi IDE都会删除此测试.
你知道我为什么以及如何避免它?
我在Delphi中使用madExcept组件来捕获非托管异常并使用电子邮件功能创建完整报告.与Visual Studio兼容的C++和C#
存在具有相同功能的组件(付费或免费).
强制性功能:
我需要用列显示一些分层数据.
所以一种混合了树视图的列表框.
我看一下标准组件和JCL/JVCL,但没什么相似之处.任何的想法 ?
编辑
我正在使用RADStudio XE,因此该组件应该是最新的!
对于我的程序delphi-code-coverage-wizard,我需要验证(详细的)映射文件是否.map 与 Delphi应用程序匹配.exe
当然,这个验证应该用Delphi来实现.
有办法检查吗?也许通过验证来自EXE的一些信息?
可能重复:
如何清理字符串以用作文件名?
我需要从用户的文本(unicode字符串类型)创建一个文件夹.某些字符是Windows下文件夹名称的非法字符.
你知道一个检查文件夹名称是否有效的Delphi函数吗?
或者最好,将字符串转换为有效的文件夹名称(剥离或转换无效字符)?
谢谢你的帮助!
编辑:请参阅下面关于非法关键字的说明.
我是持续集成和Cruise Control的新手.但我看了几个例子,我尝试将项目设置为预先存在的Cruise Control设置,其中包含几个项目.
我确定,所有文件都正确指向我修改了正确的ccnet.config.
但是,我添加的项目没有显示在Web仪表板中.
这是我在ccnet.config中添加的项目块.(出于安全原因,删除了元素中的值,但我确信这些值都很好.)
<project>
<name></name>
<workingDirectory></workingDirectory>
<artifactDirectory></artifactDirectory>
<webURL></webURL>
<modificationDelaySeconds></modificationDelaySeconds>
<triggers>
<intervalTrigger seconds="1200" buildCondition="IfModificationExists" />
</triggers>
<sourcecontrol type="svn">
<executable></executable>
<workingDirectory></workingDirectory>
<autoGenSource>true</autoGenSource>
<trunkUrl></trunkUrl>
<username></username>
<password></password>
</sourcecontrol>
<tasks>
<nant>
<executable></executable>
<baseDirectory></baseDirectory>
<buildFile></buildFile>
<targetList>
<target></target>
</targetList>
<buildTimeoutSeconds>600</buildTimeoutSeconds>
</nant>
</tasks>
<publishers>
<xmllogger logDir="" />
<artifactcleanup cleanUpMethod="KeepLastBuilds" cleanUpValue="10" />
</publishers>
</project>
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?修改ccnet.config后是否还需要执行其他操作?这里的任何指导都会非常有帮助.
cruisecontrol.net continuous-integration cruisecontrol ccnet-config
我已将3个文件从 bazaar下的顶级文件夹工作副本移动到新目录中.
Bazaar给我看了这个屏幕.Project

现在,我想将每个文件标记为已移动.可以通过一个文件执行此文件 - 通过选择缺少的文件,新文件,然后单击标记移动.

但是不可能对所有文件大规模地执行此操作.
屏幕截图只是一个例子,在我的真实项目中,我有~40个文件.
有没有想过为所有文件做这个?
使用接受的答案编辑:
在TBZR>运行命令并使用:bzr mv --auto

让我们想象一下情况:
两个PC软件,两个开发团队,两个不同的技术(不同的编程语言),两套功能,但一个目标!
在决定(或不)合并软件之前,我想先了解你要做的第3件事.
我的第一个(未分类的)想法:与其他团队会面,比较需求,比较源代码指标,比较正在进行的工作(错误和功能),比较开发方法......
你会从什么开始?
更新:添加上下文.
在我们(最近合并的)compagny中,我们有两个非客户软件(仅限内部工具)正在执行相同的工作.一个用C和C++编写(丑陋的指标!),另一个用C#编写.我的问题的目标不是现在决定,而是只有经验/直观的反馈,我们应该先看看什么!
更新:在我的角色上添加上下文
我不是经理!我甚至不是解决方案的开发者,但我想用方法和事实帮助决定......因为我害怕管理层的某种......政治选择!
delphi ×5
c# ×2
c++ ×2
bazaar ×1
c++builder ×1
ccnet-config ×1
delphi-xe ×1
directory ×1
dunit ×1
dvcs ×1
exception ×1
executable ×1
mapping ×1
merge ×1
tortoisebzr ×1
treeview ×1
uicomponents ×1
windows ×1