DUnitを使用しています。VCLGUITestRunnerとコンソールTextTestRunnerがあります。
FiremonkeyアプリケーションとVCLフォームアプリケーションの両方で使用されるユニットで、次のことを実現したいと思います。
- Firemonkeyアプリの場合、ターゲットがOS Xの場合、OSXで実行->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を機能させるための最良の方法はどれですか?