Überblick über das Testen von Units
Nach oben zu Anwendungen testen - Index
Neu für das Jahr 2010! Video: Delphi Unit Tests, von Mike Rozlog
In RAD Studio sind die zwei Open Source Test-Frameworks DUnit und NUnit integriert, mit denen 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. Das NUnit -Framework steht nur für Delphi für .NET und C# zur Verfügung. Diese Frameworks vereinfachen 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.
Beide Test-Frameworks basieren auf JUnit und verfügen zum größten Teil über identische Funktionen.
Dieses Thema enthält folgende Informationen:
- Was installiert wird
- Testprojekte
- Testfälle
- Testgruppen
Inhaltsverzeichnis |
Was installiert wird
Standardmäßig werden bei der vollständigen Installation von RAD Studio beide Frameworks installiert. Bei der Installation von einzelnen Personalities werden die von diesen Personalities unterstützten Frameworks 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
Anmerkung: 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 1.1 (MPL).
Testprojekte
Ein Testprojekt kapselt einen oder mehrere Testfälle und wird in der Projektverwaltung durch einen Knoten angezeigt. RAD Studio stellt den Testprojekt-Experten zur Verfügung, 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 einen Testprojekt können mehrere Testfälle aufgenommen werden. Diese Möglichkeit zum Gruppieren und Kombinieren von Tests in Testfällen — und Testfälle 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-Scripts oder anderen Typen 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 stellt den Testfall-Experten bereit, 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.