我使用DUnit。它有一個VCL GUITestRunner和一個控制檯TextTestRunner。如何使用條件測試定義應用程序是否是Firemonkey?
在由兩個Firemonkey和VCL中使用的單位形式應用我想實現如下:
- 如果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的最佳方式?
可以使用同時使用FireMonkey和VCL單元的應用程序。 –
案例1是否屬實?我的意思是同時定義MACOS和MSWINDOWS?另外,你的意思是「目標是OS X,但在Windows上執行」? –
@TOndrej:因爲在Wnidows上無法運行Mac OSX應用程序,因此建議自動重構問題 –