UnitTests.dpr
上传用户:yjb1804
上传日期:2021-01-30
资源大小:3105k
文件大小:3k
源码类别:

Email服务器

开发平台:

Delphi

  1. { $Id: UnitTests.dpr,v 1.20 2006/07/19 02:52:55 judc Exp $ }
  2. {: DUnit: An XTreme testing framework for Delphi programs.
  3.    @author  The DUnit Group.
  4.    @version $Revision: 1.20 $
  5. }
  6. (*
  7.  * The contents of this file are subject to the Mozilla Public
  8.  * License Version 1.1 (the "License"); you may not use this file
  9.  * except in compliance with the License. You may obtain a copy of
  10.  * the License at http://www.mozilla.org/MPL/
  11.  *
  12.  * Software distributed under the License is distributed on an "AS
  13.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  14.  * implied. See the License for the specific language governing
  15.  * rights and limitations under the License.
  16.  *
  17.  * The Original Code is DUnit.
  18.  *
  19.  * The Initial Developers of the Original Code are Kent Beck, Erich Gamma,
  20.  * and Juancarlo A馿z.
  21.  * Portions created The Initial Developers are Copyright (C) 1999-2000.
  22.  * Portions created by The DUnit Group are Copyright (C) 2000-2003.
  23.  * All rights reserved.
  24.  *
  25.  * Contributor(s):
  26.  * Kent Beck <kentbeck@csi.com>
  27.  * Erich Gamma <Erich_Gamma@oti.com>
  28.  * Juanco A馿z <juanco@users.sourceforge.net>
  29.  * Chris Morris <chrismo@users.sourceforge.net>
  30.  * Jeff Moore <JeffMoore@users.sourceforge.net>
  31.  * Uberto Barbini <uberto@usa.net>
  32.  * Kris Golko <neuromancer@users.sourceforge.net>
  33.  * The DUnit group at SourceForge <http://dunit.sourceforge.net>
  34.  *
  35.  *)
  36. { Define DUNIT_CLX for project to use D6+ CLX }
  37. {$IFDEF LINUX}
  38. {$DEFINE DUNIT_CLX}
  39. {$ENDIF}
  40. program UnitTests;
  41. uses
  42. {$IFDEF FASTMM}
  43.   {$IFNDEF VER180}
  44.     {$IFNDEF CLR}
  45.       FastMM4,
  46.     {$ENDIF}
  47.   {$ENDIF}
  48. {$ENDIF}
  49.   SysUtils,
  50.   TestFramework,
  51.   TestExtensions,
  52. {$IFDEF DUNIT_CLX}
  53.   QForms,
  54.   QGUITestRunner,
  55. {$ELSE}
  56.   Forms,
  57.   GUITestRunner,
  58. {$ENDIF}
  59.   TextTestRunner,
  60.   UnitTestFramework in 'UnitTestFramework.pas',
  61.   UnitTestExtensions in 'UnitTestExtensions.pas',
  62.   GUITesting,
  63.   UnitTestGUITesting in 'UnitTestGUITesting.pas' {TestForm},
  64.   UnitTestGUITestRunner in 'UnitTestGUITestRunner.pas';
  65. {$R *.res}
  66. (* NOTE:
  67.   This program uses the test registration system.
  68.   Units containing test cases register their test suites calling one of:
  69.     TestFramework.RegisterTest
  70.     TestFramework.RegisterTests
  71.     TestFramework.RegisterTestSuites
  72. *)
  73. begin
  74. {$IFDEF VER140}
  75.   {$IFDEF FASTMM}
  76.     // It is Delphi 6 and FASTMM so register its known memory leaks
  77.     RegisterExpectedMemoryLeak(36, 1); // TWinHelpViewer x 1
  78.     RegisterExpectedMemoryLeak(20, 3); // TObjectList x 3
  79.     RegisterExpectedMemoryLeak(20, 3); // Unknown x 3
  80.     RegisterExpectedMemoryLeak(52, 1); // THelpManager x 1
  81.   {$ENDIF}
  82. {$ENDIF}
  83.   if FindCmdLineSwitch('text-mode', ['-','/'], true) then
  84.     TextTestRunner.RunRegisteredTests(rxbHaltOnFailures)
  85.   else
  86.   begin
  87.     Application.Initialize;
  88.     Application.Title := 'DUnit Tests';
  89.     // RunRegisteredTests class methods are recommended
  90.     TGUITestRunner.RunRegisteredTests;
  91.   end;
  92. end.