ich gehe meine ersten Schritte mit Lazarus & FreePASCAL und habe mir als erste Aufgabe die Portierung eines DUnit-Projekts von Delphi vorgenommen (siehe auch hier).
In der Online Hilfe von fpcunit fand ich den Hinweis, wie man einen Test Decorator verwendet, um einmalige Setup & TearDown Methoden für alle Testfälle auszuführen (siehe auch hier). Ich habe mich strikt an das Beispiel gehalten und folgende Test Registrierung vorgenommen:
Code: Alles auswählen
initialization
RegisterTestDecorator(TWorkLogTestSetup, TTestdmoEmployee);
end.
wobei die Klasse TWorkLogTestSetup folgende Methoden implementiert:
Code: Alles auswählen
procedure TWorkLogTestSetup.OneTimeSetup;
begin
dmoMain := TdmoMain.Create(nil);
dmoTestHelper := TdmoTestHelper.Create(nil);
dmoTestHelper.CreateFixture;
end;
procedure TWorkLogTestSetup.OneTimeTearDown;
begin
dmoTestHelper.Free;
dmoMain.Free;
end;
Mein Problem ist das diese Methoden nicht ausgeführt werden sonder stattdessen die Testfälle von TTestdmoEmployee direkt ausgeführt werden, was zur Folge hat das es weder eine TdmoMain noch ein TdmoTestHelper Instanz gibt. Dadurch funktioniert mein Datenbank-Zugriff (TdmoMain) nicht und der Test Helper (TdmoTestHelper) kann kein Fixture generieren.
Was mache ich falsch?
Salut,
Mathias