Die Idee ist, dass Sie eine „Konsole“ ausgeben, einige Ergebnisse zu Testcode verwenden können, dann die Ausgabe Textinhalt mit einem erwarteten Wert vergleichen.
Werfen Sie einen Blick auf die regression tests available with the great DWSScript Open Source project. Sie werden einige .pas-Dateien und einige verwandte .txt-Dateien finden.
Zum Beispiel abs.pas:
var vf = 1.5;
var vi = 2;
var i : Integer := Abs(-vi);
PrintLn(i);
PrintLn(Abs(vi));
var f : Float := Abs(-vf);
PrintLn(f);
PrintLn(Abs(vf));
und den entsprechenden abs.txt Inhalt:
2
2
1.5
1.5
AFAIK gibt es keine bereits bestehende Lösung mittlerweile in der Delphi-Welt zu integrieren.
Wenn Sie den Test in den Kommentar schreiben, fehlt die IDE-Autovervollständigung, und das Objekt Pascal Design wird etwas beschädigt. Es wäre etwas einfach mit DWS, aber erfordern, den Delphi-Compiler der Befehlszeile aufzurufen. Ehrlich gesagt, sehe ich nicht, was falsch ist, wenn Sie Ihre eigenen Einheiten für Tests haben. Ein kleines Stück Code mit einer for..to
Schleife mit festen und zufälligen Werten wird eine viel bessere Testabdeckung haben als ein fester Satz von Parametern.
Ich habe noch nie so etwas für Delphi gefunden. Es ist viel einfacher in Python wegen der dynamischen Natur dieser Sprache. –
Nicht genau das Gleiche, aber in einem kürzlich erschienenen Blog hat Jordi Corbilla eine Idee des Unit-Tests mit 'TCustomAttributes' vorgestellt. Siehe [dunit-and-tcustomattributes] (http://thundaxsoftware.blogspot.se/2012/04/dunit-and-tcustomattributes.html). Anstatt Tests in Kommentaren hinzuzufügen, werden sie als Attribute angewendet. –
@LURD Dieser nette Artikel ist verwandt, aber es gibt immer noch viel Code zu schreiben: Attribute müssen einen festen Satz von Parametern haben. –