Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Was sind eigentlich Unittests genau? (https://www.delphipraxis.net/113776-sind-eigentlich-unittests-genau.html)

I.A 16. Jun 2008 21:08

Re: Was sind eigentlich Unittests genau?
 
Hallo Hoika!

Danke erst mal für den Tipp. So geht es bei mir auch.

Wenn ich aber die Packages in die IDE installieren will, brauche ich visualclx bzw vclx.

Bevor ich jetzt weiter experimentiere:

Leider muss ich sagen, das sich mir der Nutzen von DUnit noch nicht erschließt.

Wenn ich ein Programm entwickle schreibe ich ein prozedurales Programm, indem ich Prozedur für Prozedur schreibe und nach fast jeder neu geschriebenen Anweisung übersetze und starte und sdamit teste, ob es so funzt, wie ich will. Mit Delphi baue ich die Oberfläche als Prototyp mit allen Menüs. Dann folgen alle Event-Handler sukzessive. Das heißt, ich gehe Klicke den Menüpunkt oder Button an, die Ereignisprozedur wird von Delphi erzeugt. Nun schreibe ich den Code, wobei ich wieder nach fast jeder neu geschriebenen Zeile "F9" drücke, um zu testen.

Was kann nun DUnit leisten, was ich mit meiner Entwicklungsmethode nicht auch leisten kann.

In DUnit schreibe ich Testfälle. Wenn alles funzt, schreibe ich halt den Code in meine Eventhandler.
Da kann ich doch auch nach meiner Methode gleich die Eventhandler schreiben und sukzessive testen.

Wer kann mir den höheren Zweck von DUnit unter diesen Rahmenbedingungen erklären.

Welchen Vorteil bringt mir DUnit und deren Tests gegenüber meiner Methode?

Bin schon gespannt auf Eure Antworten. Die Entwickler von DUnit müssen sich ja bei ihrer Arbeit was gedacht haben. Was ist mir entgangen?

Für heute erst mal schönen Abend. Ich mache morgen weiter.

hoika 17. Jun 2008 07:27

Re: Was sind eigentlich Unittests genau?
 
Hallo,

schau mal meinen Thread weiter oen (#5).

1. Vorteil
schneller, vollständiger (!) Test aller Funktionen

2. Vorteil
Fehler beim nachträglichen (!) Ändern werden erkannt.

Gerade Punkt 2 ist wichtig.
Wie oft kommt es vor, dass man ein "klitzekleines" Code-Zeilchen
einfügt und ein Teil der Methode funktioniert nicth mehr,
natürlich der Teil, den man gerade nicht testet.

Ein zugegeben konstruiertes Beispiel:

Delphi-Quellcode:
function BlackBox(const theType: Integer;
  theX, theY: Integer): Integer;
begin
  if theType=1 then
  begin
    Result:= theX+theY;
  end;

  if theType=2 then
  begin
    Result:= theX-theY;
  end;
end;
Jetzt fummel ich was rum

Delphi-Quellcode:
function BlackBox(const theType: Integer;
  theX, theY: Integer): Integer;
begin
  if theType=1 then
  begin
    Result:= theX+theY;
  end;

  if theType=2 then  ;    <<-- argzz ein Semikolon
  begin
    Result:= theX-theY;    <<-- diese Zeile wird jetzt immer ausgeführt
                                 hoffentlich gibt es nen unit-Test, der das erkennt
  end;
end;


Heiko


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

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