我使用 DUnit。它有一个 VCL GUITestRunner 和一个控制台 TextTestRunner。
在 Firemonkey 和 VCL Forms 应用程序使用的单元中,我想实现以下目标:
- 如果 Firemonkey 应用程序,如果目标是 OS X,并且在 OS X -> TextTestRunner 上执行
- 如果 Firemonkey 应用程序,如果目标是 32 位 Windows,则在 Windows 上执行 -> AllocConsole + TextTestRunner
- 如果 VCL 应用程序 -> GUITestRunner
{$IFDEF MACOS}
TextTestRunner.RunRegisteredTests; // Case 1
{$ELSE}
{$IFDEF MSWINDOWS}
AllocConsole;
{$ENDIF}
{$IFDEF FIREMONKEY_APP} // Case 2 <--------------- HERE
TextTestRunner.RunRegisteredTests;
{$ELSE} // Case 3
GUITestRunner.RunRegisteredTests;
{$IFEND}
{$ENDIF}
使案例 2 工作的最佳方法是什么?