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