![]() |
Config dunit test
ich möchte meine dunit Tests über Attribute configurierbar machen, hierzu eine folgende Idee (unter Verwendung von d#)
Delphi-Quellcode:
der eigentliche Testcase leitet sich dann immer vom TConfigtestcase ab ...
uses
TestFramework, Types, Generics.Collections, Classes, SysUtils, othersLib, DSharp.Testing.DUnit, Unit_DateUtilsHelper, addons; type TConfigParams = class public RunOn32bit: boolean; RunOn64bit: boolean; RunOnWorkingDay: boolean; RunOnWeekend: boolean; end; type TConfigtestCase = class(TTestCase) private FConfigParam: TConfigParams; protected procedure SetUp; override; procedure TearDown; override; published [TestCase( 'RunOn32bit=YES|RunOn64bit=YES|RunLongExecutionTest=YES')] procedure InittestParams(aParameterString: String); property ConfigParam: TConfigParams read FConfigParam write FConfigParam; end; implementation { TCustomtestCase } procedure TConfigtestCase.InittestParams(aParameterString: String); begin FConfigParam.RunOn32bit := StrToBool(DecodeIniString('RunOn32bit', aParameterString, 'true')); FConfigParam.RunOn64bit := StrToBool(DecodeIniString('RunOn64bit', aParameterString, 'true')); .... end; procedure TConfigtestCase.SetUp; begin inherited; FConfigParam := TConfigParams.Create; end; procedure TConfigtestCase.TearDown; begin inherited; FConfigParam.Free; end; { TConfigParams } initialization RegisterTest(TConfigtestCase.Suite); end.
Delphi-Quellcode:
TestTParser = class(TConfigtestCase)
..... procedure TestFile (LibFile : String); ... end; procedure TestTParser.TestFile (LibFile : String); var aFilename: string; begin self.ConfigParam.TestCaseRootFolder := ''; /// hier AV !!! ....... end; nur bekomme ich leider beim Zugriff auf die ConfigParam Klasse eine AV, warum ? |
AW: Config dunit test
Zitat:
|
AW: Config dunit test
sorry ich hatte die Klasse TConfigParams stark vereinfacht
also
Delphi-Quellcode:
TConfigParams = class
public RunOn32bit: boolean; RunOn64bit: boolean; RunOnWorkingDay: boolean; RunOnWeekend: boolean; TestRootFolder : String ; ... /// und noch viel mehr end; ich habe die Vermutung meine Klasse TConfigParams ist außerhalb von der Klasse TConfigtestcase nicht verfügbar? |
AW: Config dunit test
Dann bin ich hier raus, denn ich kenne die Klasse "TTestCase" nicht und kann daher nicht nachprüfen, ob die Procedure "SetUp" der Klasse, in welcher die Property "ConfigParam" initialisiert werden sollte, auch tatsächlich aufgerufen wird.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz