ich möchte meine dunit Tests über Attribute configurierbar machen, hierzu eine folgende Idee (unter Verwendung von d#)
Delphi-Quellcode:
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.
der eigentliche Testcase leitet sich dann immer vom TConfigtestcase ab ...
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 ?