![]() |
AW: Unittests generieren ?
Schreib dir einen Testgenerator, der den Code für die Tests erzeugt. Du hast jetzt ja eh schon jede Menge Boilerplate-Code. Bzw lass deine Klassen gleich den Code für die Tests erzeugen.
Oder: Deine Klassen sollen ihren Typ + ihre Operatoren in einer Liste registrieren. Aus dieser Liste erzeugst du dann (halbautomatisch) die Testfälle. Off-topic: Wenn es so aufwändig ist, Testfälle zu schreiben, hapert´s am Design. |
AW: Unittests generieren ?
@Ghostwalker
Du könntest dir Anregungen zum gesamten Thema (Einheiten, Generierung von UnitTests,...) bei diesem Projekt holen ![]() Ja, ist nicht Delphi aber es geht ja um das Prinzip |
AW: Unittests generieren ?
Zitat:
|
AW: Unittests generieren ?
Hallo,
korrekt, das ist der Kern. Aber: Eine Methode (absichtlich ausführlich)
Delphi-Quellcode:
erzeugt ja 2 Code-Stränge.
function Test(a,b: Integer): Boolean;
begin if a>b then begin Result:= True; // Strang1 end else begin Result:= False; // Strang2 end; end; Um beide zu testen (Testabdeckung 100%), musst brauchst du 2 Testfälle a=1 b=0 -> Ergebnis True a=1 b=2 -> Ergebnis False Wer soll Dir das Schreiben dieser Testfälle abnehmen? |
AW: Unittests generieren ?
Zitat:
Natürlich ist sowas für uns Delphi Entwickler schwarze Magie :stupid: Nur mal so: ![]() |
AW: Unittests generieren ?
Hallo,
Zitat:
Aber trotzdem muss ich doch sinnvoll Tests schreiben. test driven ebend. |
AW: Unittests generieren ?
Danke erstmal für die Hinweise und Links.
@hoika Die Konvertierung ist hier nur ein kleiner Teil des ganzen. Neben den versiedenen Operationen, wollte ich auch damit erreichen, das z.B. bei
Delphi-Quellcode:
auch wirklich Gramm und nicht Kilogramm oder t übergeben werden können.
Procedure AddItem (Gewuerz:String;menge:Gramm);
Für alternative Vorschläge bin ich immer offen :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 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