Einzelnen Beitrag anzeigen

bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.134 Beiträge
 
Delphi 11 Alexandria
 
#1

Config dunit test

  Alt 29. Apr 2015, 23:42
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 ?

Geändert von bernhard_LA (30. Apr 2015 um 06:58 Uhr)
  Mit Zitat antworten Zitat