如果我添加一些单位,我有一个不能编译为控制台的DUnit项目
项目(dpr)由向导创建,CONSOLE_TESTRUNNER
已定义。
{$IFDEF CONSOLE_TESTRUNNER}
{$APPTYPE CONSOLE}
{$ENDIF}
begin
Application.Initialize;
if IsConsole then // <-- IsConsole is set to False.
with TextTestRunner.RunRegisteredTests do
Free
else
GUITestRunner.RunRegisteredTests;
end.
使其失败的单位包括一些VCL组件,但没有对它们运行测试 我甚至试图设置链接器选项,但没有区别 有人遇到过类似的问题吗? 只是为了澄清:这个项目是Delphi 2010中的Win32。
答案 0 :(得分:5)
该代码对我来说效果很好。我可以想到Delphi没有生成控制台应用程序的两个原因:
CONSOLE_TESTRUNNER
未定义。{$APPTYPE GUI}
。我有理由相信上面的第2项是您遇到问题的原因。