Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Unittests generieren ? (https://www.delphipraxis.net/198148-unittests-generieren.html)

TigerLilly 9. Okt 2018 06:59

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.

Schokohase 9. Okt 2018 07:04

AW: Unittests generieren ?
 
@Ghostwalker

Du könntest dir Anregungen zum gesamten Thema (Einheiten, Generierung von UnitTests,...) bei diesem Projekt holen

https://github.com/angularsen/UnitsNet

Ja, ist nicht Delphi aber es geht ja um das Prinzip

Wosi 9. Okt 2018 07:24

AW: Unittests generieren ?
 
Zitat:

Zitat von TigerLilly (Beitrag 1415280)
Off-topic: Wenn es so aufwändig ist, Testfälle zu schreiben, hapert´s am Design.

Das ist alles andere als off-topic. Das ist der Kern des Problems.

hoika 9. Okt 2018 15:47

AW: Unittests generieren ?
 
Hallo,
korrekt, das ist der Kern.

Aber:
Eine Methode (absichtlich ausführlich)

Delphi-Quellcode:
function Test(a,b: Integer): Boolean;
begin
  if a>b then
  begin
    Result:= True;  // Strang1
  end
  else
  begin
    Result:= False;  // Strang2
  end;
end;
erzeugt ja 2 Code-Stränge.
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?

Stevie 9. Okt 2018 16:47

AW: Unittests generieren ?
 
Zitat:

Zitat von hoika (Beitrag 1415326)
Wer soll Dir das Schreiben dieser Testfälle abnehmen?

Statische Code Analyse kann sowas erkennen und es gibt in anderen Sprachen Lösungen dafür, dann entsprechende Werte zum Testen zu finden.
Natürlich ist sowas für uns Delphi Entwickler schwarze Magie :stupid:

Nur mal so: https://docs.microsoft.com/en-us/vis...t?view=vs-2017

hoika 9. Okt 2018 18:49

AW: Unittests generieren ?
 
Hallo,
Zitat:

Statische Code Analyse kann sowas erkennen
Das sollte der Pascal Analyzer auch können.
Aber trotzdem muss ich doch sinnvoll Tests schreiben.

test driven ebend.

Ghostwalker 10. Okt 2018 04:48

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:
Procedure AddItem (Gewuerz:String;menge:Gramm);
auch wirklich Gramm und nicht Kilogramm oder t übergeben werden können.

Für alternative Vorschläge bin ich immer offen :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr.
Seite 2 von 2     12   

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