Вот это:
-- это - "ужас.. ужас..."
Почему? Надеюсь - объяснять не нужно.
P.S. вообще говоря, DUnit это - "КРУТАЯ ТЕМА". С ХОРОШИМ функционалом. А "внутри" - "ужас.. ужас...". Хотя наверное авторы и не стремились к "правильной и расширяемой архитектуре".
Что ещё раз доказывает тот факт, что "какие бы ни бы ли КРУТЫЕ и ПРАВИЛЬНЫЕ программисты - стоит им немного "ослабить контроль над собой" и получается "говно-код"".
За собой не раз это замечал... Хотя к КРУТЫМ и ПРАВИЛЬНЫМ я себя конечно же - НЕ ОТНОШУ...
ITest = interface(IUnknown) ['{89CCD557-7DE1-4814-B033-ABAFE0870EC7}'] function GetName: string; function CountTestCases: integer; function CountEnabledTestCases: integer; function Tests: IInterfaceList; procedure SetUp; procedure TearDown; function Run : TTestResult; overload; procedure Run(testResult: TTestResult); overload; procedure RunWithFixture(testResult: TTestResult); procedure RunTest(testResult: TTestResult); function GetTestMethodInvoked: Boolean; procedure SetTestMethodInvoked(const Value: Boolean); property TestMethodInvoked: Boolean read GetTestMethodInvoked write SetTestMethodInvoked; function GetEnabled: Boolean; procedure SetEnabled(Value: Boolean); procedure SetStartTime(Value :Int64); function GetStartTime : Int64; procedure SetStopTime(Value :Int64); function GetStopTime : Int64; function ElapsedTestTime: Cardinal; function GetRunCount: integer; procedure SetRunCount(Value: Integer); procedure SetStatusListener(Listener :IStatusListener); function GetStatus :string; procedure LoadConfiguration(const iniFile :TCustomIniFile; const section :string); overload; procedure LoadConfiguration(const fileName: string; const useRegistry, useMemIni: Boolean); overload; procedure SaveConfiguration(const iniFile :TCustomIniFile; const section :string); overload; procedure SaveConfiguration(const fileName: string; const useRegistry, useMemIni: Boolean); overload; procedure SetGUIObject(const guiObject: TObject); function GetGUIObject: TObject; property RunCount: Integer read GetRunCount write SetRunCount; property Name: string read GetName; property Enabled: Boolean read GetEnabled write SetEnabled; property GUIObject: TObject read GetGUIObject write SetGUIObject; property Status: string read GetStatus; property StartTime: Int64 read GetStartTime write SetStartTime; property StopTime: Int64 read GetStopTime write SetStopTime; procedure SetFailsOnNoChecksExecuted(const Value: Boolean); function GetFailsOnNoChecksExecuted: Boolean; property FailsOnNoChecksExecuted: Boolean read GetFailsOnNoChecksExecuted write SetFailsOnNoChecksExecuted; function GetFailsOnMemoryLeak: Boolean; procedure SetFailsOnMemoryLeak(const Value: Boolean); property FailsOnMemoryLeak: Boolean read GetFailsOnMemoryLeak write SetFailsOnMemoryLeak; function GetAllowedMemoryLeakSize: Integer; procedure SetAllowedMemoryLeakSize(const NewSize: Integer); property AllowedMemoryLeakSize: Integer read GetAllowedMemoryLeakSize write SetAllowedMemoryLeakSize; function GetFailsOnMemoryRecovery: Boolean; procedure SetFailsOnMemoryRecovery(const Value: Boolean); property FailsOnMemoryRecovery: Boolean read GetFailsOnMemoryRecovery write SetFailsOnMemoryRecovery; procedure SetAllowedLeakArray(AllowedList: array of Integer); function GetIgnoreSetUpTearDownLeaks: Boolean; procedure SetIgnoreSetUpTearDownLeaks(const Value: Boolean); property IgnoreSetUpTearDownLeaks: Boolean read GetIgnoreSetUpTearDownLeaks write SetIgnoreSetUpTearDownLeaks; function GetAllowedLeak: Integer; function GetAllowedLeaksIterator: TListIterator; property AllowedLeaksIterator: TListIterator read GetAllowedLeaksIterator; end;
-- это - "ужас.. ужас..."
Почему? Надеюсь - объяснять не нужно.
P.S. вообще говоря, DUnit это - "КРУТАЯ ТЕМА". С ХОРОШИМ функционалом. А "внутри" - "ужас.. ужас...". Хотя наверное авторы и не стремились к "правильной и расширяемой архитектуре".
Что ещё раз доказывает тот факт, что "какие бы ни бы ли КРУТЫЕ и ПРАВИЛЬНЫЕ программисты - стоит им немного "ослабить контроль над собой" и получается "говно-код"".
За собой не раз это замечал... Хотя к КРУТЫМ и ПРАВИЛЬНЫМ я себя конечно же - НЕ ОТНОШУ...
Правда есть "реализация" - TTestSuite. Которая конечно "снимает часть вопросов".
ОтветитьУдалить