Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#2

AW: Pascal Interpreter - wie automatisiert testen?

  Alt 3. Dez 2015, 21:47
Dein Programm besteht aus Klassen.
Jede Klasse besteht aus Methoden.
Jede Methode soll etwas machen.

Schreibe Testcode, die die Methode mit bestimmten Parametern aufrufen und dann das Ergebnis mit dem zu erwartenden Ergebnis vergleichen. Beispiel:
Delphi-Quellcode:
Type
  TMyClass = Class
  public
     function Add (a,b : Integer) : Integer;
  end;

Function TMyClass.Add(a,b : Integer) : Integer;
begin
  result := a+b;
end;
....

Type
  TMyClassFixture = class
  public
     Procedure AddTest;
  End;

Procedure TMyClassFixture.AddTest;
var
  unitUnderTest : TMyClass;
  actual : Integer;

Begin
  unitUnderTest := TMyClass.Create;
  actual := unitUnderTest.Add(1,2);
  Assert.AreEqual (3,actual); // Weiß nicht, ob es AreEqual hier gibt
End;
Je kleiner und einfacher deine Klassen, desto einfacher die Unittests. Ein Unittest testet also genau eine Klasse, ohne Abhängigkeiten.

Nach den Unittests kommen die Integrations- oder Komponententests, d.h. Du testest das Zusammenspiel der Klassen.

Du kannst z.B. deinen Parser testen, indem Du für jedes syntaktische Element den erwarteten Syntaxbaum verifizierst. Der Lexer/Tokenizer wird ähnlich getestet, d.h. InputString und Erwartete Tokensequenz vergleichen mit der aktuellen Sequenz, d.h. der Ausgabe des Tokenizers usw.
  Mit Zitat antworten Zitat