Überblick über das Testen von Units

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

In RAD Studio ist das Open-Source-Test-Framework DUnit integriert, mit dem Sie automatisierte Testfälle für Ihre Anwendungen erstellen und ausführen können. Das DUnit-Framework steht für Delphi und C++ zur Verfügung. Dieses Framework vereinfacht die Entwicklung von Tests für die Klassen und Methoden einer Anwendung. Die Unit-Tests können zusammen mit den Refactoring-Funktionen die Stabilität Ihrer Anwendungen verbessern. Wenn Sie nach jeder Quelltextänderung bestimmte Standardtests ausführen, ist die Wahrscheinlichkeit größer, dass Sie Probleme früh im Entwicklungszyklus erkennen.

Das DUnit-Test-Framework basiert auf dem JUnit-Test-Framework und enthält größtenteils dieselbe Funktionalität.

Dieses Thema enthält folgende Informationen:

  • Installierte Software
  • Testprojekte
  • Testfälle
  • Testgruppen

Installierte Software

Bei der vollständigen Installation von RAD Studio oder bei der Installation einer der beiden Personalities (Delphi oder C++Builder) wird standardmäßig das DUnit-Framework installiert.

DUnit

Für Delphi und C++Builder wird das DUnit-Framework automatisch vom RAD Studio -Installationsprogramm installiert. Viele DUnit-Ressourcen befinden sich im Verzeichnis \source\DUnit unter dem Stamminstallationsverzeichnis. Dort finden Sie beispielsweise die Quelltextdateien, die Dokumentation und die Testbeispiele.

Für C++Builder werden auch die folgenden C++-Header- und Bibliotheksdateien für die Verwendung als C++-Testprojekte bereitgestellt:

  • GUITestRunner.hpp
  • XMLTestRunner.hpp
  • TextTestRunner.hpp
  • TestFramework.hpp
  • DUnitMainForm.hpp
  • DUnitAbout.hppdir
  • dunitrtl.lib

Hinweis: Diese Dateien sind kein Bestandteil der DUnit-Standarddistribution. Sie wurden vorerzeugt und für Sie in C++Builder bereitgestellt.

Wenn Sie DUnit verwenden, sollten Sie im Allgemeinen mindestens einen Testfall und eine oder mehrere Testgruppen einbeziehen. Die Testfälle enthalten in der Regel eine oder mehrere Annahmeanweisungen, um die Funktionsweise der getesteten Klasse zu überprüfen.

DUnit unterliegt der Mozilla Public License Version 1.1 (EN).

Testprojekte

Ein Testprojekt kapselt einen oder mehrere Testfälle und wird in der Projektverwaltung durch einen Knoten angezeigt. RAD Studio enthält den Test-Projekt-Experten, mit dem Sie ein Basistestprojekt erstellen können. Nachdem ein Testprojekt einem Quelltextprojekt zugeordnet ist, können Sie Testfälle erstellen und sie dem Testprojekt hinzufügen.

Testfälle

In einem typischen Unit-Testprojekt hat jede zu testende Klasse eine zugehörige Testklasse; das ist aber nicht erforderlich. Die Testklasse wird auch Testfall genannt. Abhängig von dem verwendeten Framework kann die Testklasse von einer speziellen Testfallbasisklasse abgeleitet sein. Im Allgemeinen verfügt ein Testfall über eine oder mehrere Methoden, die den Methoden in der zu testenden Klasse entsprechen. In ein Testprojekt können mehrere Testfälle aufgenommen werden. Diese Möglichkeit zum Gruppieren und Kombinieren von Tests in Testfällen (und von Testfällen in Testprojekten) macht den Unterschied zwischen einem Testfall und den einfachen Formen des Testens (z. B. Verwenden von Ausgabeanweisungen oder Auswerten von Debugger-Ausdrücken) aus. Jeder Testfall und jedes Testprojekt kann wiederverwendet, erneut ausgeführt und durch die Verwendung von Stapeldateien, Build-Skripten oder anderen Arten von Testsystemen automatisiert werden.

Sie sollten Ihre Tests normalerweise in einem eigenen Projekt getrennt vom Quelltextprojekt erstellen. Sie brauchen die Tests dann nicht aus der fertigen Anwendung zu entfernen. RAD Studio enthält den Test-Fall-Experten, der Sie beim Erstellen der Basistestfälle unterstützt, die Sie dann nach Bedarf anpassen können.

Testgruppen

Der Begriff Testgruppe bezieht sich auf die Kombination mehrerer Testfälle, die logisch zusammenhängende Funktionsweisen testen. Sie können Testgruppen in Ihrem Testfall definieren. In der Regel führen Sie die Instantiierung der Objekte, Initialisierung der Variablen, Einrichtung der Datenbankverbindung und andere Wartungsaufgaben in den Abschnitten SetUp und TearDown durch. Solange die Tests mit denselben Objekten durchgeführt werden, können Sie beliebig viele Tests zu einer Testgruppe hinzufügen.

Siehe auch