AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Config dunit test

Ein Thema von bernhard_LA · begonnen am 29. Apr 2015 · letzter Beitrag vom 30. Apr 2015
Antwort Antwort
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
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#2

AW: Config dunit test

  Alt 30. Apr 2015, 09:32
self.ConfigParam.TestCaseRootFolder := ''; /// hier AV !!! nur bekomme ich leider beim Zugriff auf die ConfigParam Klasse eine AV, warum ?
Ich konnte in Deiner Klasse "TConfigParams" keine Property mit dem Namen "TestCaseRootFolder" finden.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
bernhard_LA

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

AW: Config dunit test

  Alt 30. Apr 2015, 10:19
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?

Geändert von bernhard_LA (30. Apr 2015 um 10:22 Uhr)
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#4

AW: Config dunit test

  Alt 30. Apr 2015, 10:26
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.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz