Entwickeln von Tests

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Überblick über DUnitX


Warnung: DUnit ist veraltet, deshalb wird es nicht verbessert. Sie sollten daher mit DUnit keine neuen Entwicklungen vornehmen. Ziehen Sie die Migration Ihrer vorhandenen Tests von DUnit nach DUnitX in Betracht. Siehe Überblick über DUnitX.

Neu für 2010! Video: Delphi Unit Tests von Mike Rozlog

Die Struktur eines Unit-Tests ist weitgehend von der Funktionsweise der getesteten Klasse und Methode abhängig. Die Experten zum Testen von Units erzeugen für das Testprojekt Skeleton-Vorlagen, Setup- und Teardown-Methoden und Basistestfälle. Anschließend können Sie die Vorlagen ändern, indem Sie eine spezielle Testlogik zum Testen von bestimmten Methoden hinzufügen.

Im Folgenden wird das Vorgehen beim Erstellen eines Unit-Testprojekts und eines Unit-Testfalls beschrieben. Führen Sie die Schritte in der angegebenen Reihenfolge durch. Das Unit-Testprojekt muss vor den zugehörigen Testfällen erstellt werden. Der Testfall-Experte steht nur zur Verfügung, wenn das aktuell aktive Projekt ein Unit-Testprojekt ist.

So erstellen Sie ein Testprojekt:

  1. Wählen Sie Datei > Neu > Weitere.
  2. Öffnen Sie den Ordner Unit-Test.
  3. Doppelklicken Sie auf Testprojekt. Der Test-Projekt-Experte wird geöffnet, und die Seite Details für das Testprojekt festlegen angezeigt.
  4. Nehmen Sie die gewünschten Einstellungen vor, oder übernehmen Sie die Standardwerte. Geben Sie Folgendes ein:
    • Name des Projekts: Geben Sie den Namen für das neue Testprojekt ein, oder übernehmen Sie die Vorgabe. Die Vorgabe ist der Name des aktiven Projekts mit dem an den Namen angehängten Wort Tests. Wenn kein aktives Projekt vorhanden ist, ist die Vorgabe UnitTest mit einer angehängten Sequenznummer.
    • Speicherort: Geben Sie den vollständigen Pfadnamen für den Ordner ein, in dem das Testprojekt erstellt werden soll, oder übernehmen Sie die Vorgabe. Die Vorgabe ist der Unterordner test, der sich unter dem aktiven Projektordner befindet. Wenn kein aktives Projekt vorhanden ist, ist die Vorgabe der Standardprojektordner. Klicken Sie auf die Ellipsen-Schaltfläche (...), um ein Durchsuchen-Dialogfeld anzuzeigen, in dem Sie den Speicherort auswählen können.
    • Personality: Wählen Sie aus der Dropdown-Liste die Personality (Codesprache) aus, oder übernehmen Sie die Vorgabe. Die Vorgabe ist die Personality des aktiven Projekts.
  5. Wenn das Testprojekt nicht zu Ihrer Projektgruppe hinzugefügt werden soll, deaktivieren Sie das Kontrollkästchen Zur Projektgruppe hinzufügen.
  6. Klicken Sie zum Fortsetzen auf Weiter oder auf Fertig stellen, um die restlichen Vorgaben zu übernehmen. Wenn die Schaltfläche Fertig stellen verfügbar ist, können Sie jederzeit darauf klicken, um die Vorgabewerte für die restlichen Felder zu übernehmen und das neue Testprojekt sofort zu erzeugen. Ansonsten klicken Sie auf Weiter, um zur Seite Optionen für das Test-Framework festlegen zu wechseln.
  7. Nehmen Sie die gewünschten Einstellungen vor, oder übernehmen Sie die Standardwerte. Geben Sie Folgendes ein:
    • Test-Framework: Für die Delphi- und die C++-Personalities wird nur das DUnit-Framework unterstützt. Daher können Sie diesen Wert nicht ändern.
    • Test-Runner: Wählen Sie entweder GUI oder Konsole aus der Dropdown-Liste aus. Der Konsolen-Test-Runner leitet die Ausgabe an die Konsole. Der GUI-Test-Runner zeigt die Ergebnisse interaktiv in einem GUI-Fenster mit Farbcodierungen zum Kennzeichnen von Erfolg oder Fehlschlag an.
  8. Klicken Sie auf Fertig stellen. Der Test-Projekt-Experte erzeugt die Testprojekt-Vorlage. Für Delphi werden auch die erforderlichen Quelltextreferenzen in die Testprojekt-Vorlage eingefügt; Sie können daher den nächsten Schritt überspringen. Für C++Builder müssen Sie das Testprojekt manuell mit den C++-Klassen, die getestet werden sollen, verknüpfen; fahren Sie in diesem Fall mit dem nächsten Schritt fort.
  9. Nur für C++Builder: Verknüpfen Sie das neue Testprojekt mit dem zu testenden Quelltext. Für C++Builder müssen Sie das Testprojekt manuell mit dem C++-Quelltext, der getestet werden soll, verknüpfen. Sie können dazu eine der folgenden Vorgehensweisen verwenden:
    • Fügen Sie den C++-Quelltext direkt in das Testprojekt ein.
    • Fügen Sie dem Testprojekt eine OBJ-Datei hinzu.
    • Fügen Sie dem Testprojekt eine LIB-Datei (entweder eine statische Bibliothek oder eine Importbibliothek für eine DLL) hinzu.
    • Beziehen Sie die Header-Datei ein, die die zu testende Klasse implementiert. Weitere Anleitungen finden Sie im nächsten Abschnitt Hinzufügen von Dateien zu einem Projekt.

Hinzufügen von Dateien zu einem Projekt

  1. Öffnen Sie das Testprojekt, und aktivieren Sie es. Zum Aktivieren der Datei wählen Sie sie in der Projektverwaltung aus und klicken auf die Schaltfläche Aktivieren.
  2. Klicken Sie in der Projektverwaltung mit der rechten Maustaste auf den Namen des Testprojekts. Ein Kontextmenü mit Projektoptionen wird angezeigt.
  3. Wählen Sie "Hinzufügen...". Das Dateiauswahl-Dialogfeld Dem Projekt hinzufügen wird angezeigt. Wählen Sie hier die Datei aus, die in Ihr Testprojekt einbezogen werden soll.
  4. Wählen Sie die Datei aus, und klicken Sie auf OK. Damit wird die ausgewählte Datei dem Testprojekt hinzugefügt.

So erstellen Sie einen Testfall:

  1. Klicken Sie auf das Register Code der Datei mit den Klassen, die Sie testen möchten. Die Datei wird dadurch im Quelltext-Editor aktiviert.
  2. Wählen Sie Datei > Neu > Weitere.
  3. Öffnen Sie den Ordner Unit-Test.
  4. Doppelklicken Sie auf Testfall. Der Test-Fall-Experte wird geöffnet und die Seite Die zu testenden Methoden auswählen angezeigt.
  5. Geben Sie den Namen der Quelltextdatei ein, die die zu testenden Klassen enthält. Klicken Sie auf die Ellipsen-Schaltfläche (...), um ein Öffnen-Dialogfeld anzuzeigen, in dem Sie die Datei auswählen können.
  6. Wählen Sie die Klassen und Methoden aus, für die Sie Tests erstellen möchten. Klicken Sie in der Liste Verfügbare Klassen und Methoden auf das Kontrollfeld neben einem Element, um es aus- bzw. abzuwählen. Standardmäßig sind alle Klassen und Methoden ausgewählt. Sie können einzelne Methoden in der Liste deaktivieren. Der Experte erzeugt lediglich für die ausgewählten Methoden Testfall-Vorlagen. Wenn Sie eine Klasse ausschließen, ignoriert der Experte die gesamte Klasse und alle ihre Methoden, auch wenn Sie die Methoden nicht einzeln aus der Auswahl entfernt haben. Wenn Sie eine Klasse auswählen, aber keine ihrer Methoden markieren, erzeugt der Experte einen Testfall für die Klasse, generiert aber keine Testmethoden dafür.
  7. Klicken Sie zum Fortsetzen auf Weiter oder auf Fertig stellen, um die restlichen Vorgaben zu übernehmen. Wenn die Schaltfläche Fertig stellen verfügbar ist, können Sie jederzeit darauf klicken, um die Vorgabewerte für die restlichen Felder zu übernehmen und den neuen Testfall sofort zu erzeugen. Ansonsten klicken Sie auf Weiter, um zur Seite Details für den Testfall festlegen zu wechseln.
  8. Nehmen Sie die gewünschten Einstellungen vor, oder übernehmen Sie die Standardwerte.
    • Testprojekt: Wählen Sie das Testprojekt aus der Dropdown-Liste aus. Die Vorgabe ist das aktive Testprojekt; wenn Sie gerade mit dem Test-Projekt-Experten ein Testprojekt erstellt haben, dann ist das neue Testprojekt die Vorgabe.
    • Dateiname: Geben Sie einen Dateinamen für den Testfall ein, den Sie erstellen, oder übernehmen Sie die Vorgabe. Die Vorgabe ist der Name der zu testenden Quelltextdatei mit dem Namenspräfix Test.
    • Test-Framework:

Für die Personalities Delphi für Win32 und C++ wird nur das DUnit-Framework unterstützt. Daher können Sie diesen Wert nicht ändern.

    • Basisklasse:Wählen Sie aus der Dropdown-Liste die Basisklasse aus, oder übernehmen Sie die Vorgabe. Die Vorgabe ist TTestCase. Das ist die Standardbasisklasse von TestCase. In den meisten Fällen können Sie die Vorgabe verwenden. Sie können aber eine eigene benutzerdefinierte TTestCase-Klasse angeben. Außerdem können Sie beim Testen einer Objekthierarchie den neuen Testfall von der Klasse TestCase eines Basisobjekts der zu testenden Objekte ableiten. Dadurch kann eine abgeleitete Klasse einen Test erben, der für den Basistyp dieser Klasse erstellt wurde.
  1. Klicken Sie auf Fertig stellen. Der Experte erzeugt eine Testfalldatei mit dem angegebenen Namen.

So schreiben Sie einen Testfall:

  1. Fügen Sie den Methoden SetUp und TearDown in der Testfall-Vorlage bei Bedarf Quelltext hinzu.
  2. Fügen Sie den Testmethoden Annahmen hinzu.

So führen Sie einen Testfall im GUI-Test-Runner aus:

  1. Aktivieren Sie die Datei, die die auszuführenden Klassen enthält. Wählen Sie die Datei in der Projektverwaltung aus, und klicken Sie auf die Schaltfläche Aktivieren.
  2. Wählen Sie Start > Start. Der GUI-Test-Runner startet sofort bei der Ausführung Ihrer Anwendung.
  3. Wählen Sie aus der Testliste einen oder mehrere Tests aus.
  4. Klicken Sie auf die Schaltfläche Ausführen. Das Resultat der Tests wird im Fenster Testergebnisse angezeigt. Alle grün unterlegten Tests wurden erfolgreich abgeschlossen. Die rot markierten Tests sind fehlgeschlagen. Die gelb markierten Tests wurden nicht ausgeführt.
  5. Überprüfen Sie die Testergebnisse.
  6. Korrigieren Sie die Fehler im Quelltext, und führen Sie die Tests erneut aus.

Siehe auch