Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Recovery Tests durchführen (https://www.delphipraxis.net/117882-recovery-tests-durchfuehren.html)

hoika 27. Jul 2008 07:57


Recovery Tests durchführen
 
Hallo #,

ich arbeite mich gerade mühsam durch alten Code.
der hat noch keine Unit-Tests (DUnit).
Da die Methoden relativ klein sind,
kann man aber schnell erkennen, was man an Daten übergeben muss,
um alle Code-Zeilen zu testen.

Nur wie bekomme ich mit, dass ich doch ein Stück Code vergessen habe.

ein gestelltes Bsp:

Delphi-Quellcode:
function Foo(a: Integer): Integer;
begin
  if a<0 then
  begin
    Result:= -1;
    Exit;
  end;
 
  if a=0 then
  begin
    Result:= 0;
    Exit;
  end;

  if a>0 then
  begin
    Result:= 1;
  end;
end;
Bitte keine Diskussion um den Code ;),
der ist nur zum Zeigen da.

Die DUnit-Tests wären jetzt z.B.

Delphi-Quellcode:
Check(Foo(-100)=-1);
Check(Foo(-2)=-1);
Check(Foo(-1)=-1);

Check(Foo(1)=1);
Check(Foo(2)=1);
Check(Foo(100)=1);
Nun ? Was entdeckt ? ...
Richtig !!!

Check(Foo(0)=0) fehlt !


Wenn mir DUnit oder wer immer jetzt sagen könnte, dass die Zeile 11 Result:= 0;
bei den Tests nicht aufgerufen wurde (ebend ein Recovery Test),
würde man das schneller finden.


Zur Zeit setze ich ich an jeder relevanten Stelle eine Breakpoint
und prüfe, dass alle Breakpoints beim DUnit-Test angesprungen werden.


Geht das nicht einfacher ?

Danke


Heiko

Bernhard Geyer 27. Jul 2008 08:00

Re: Recovery Tests durchführen
 
Bei AQTime gäbe es einen entsprechenden Test welcher die Codeüberdeckung anzeigt/überprüft. Wie gut jedoch AQTime mit DUnit zusammenarbeitet müsstest du selbst herausfinden.

hoika 28. Jul 2008 08:41

Re: Recovery Tests durchführen
 
Danke,

ich dachte an etwas eher billigeres
1000 Euronen ist mir etwas zu viel.

Aber ich werde mir die Demo mal ansehen.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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