„CppUnit“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
K Versionsnummer und Versionsdatum aktualisiert |
Aka (Diskussion | Beiträge) K https, Links optimiert |
||
Zeile 18: | Zeile 18: | ||
|Lizenz = [[GNU Lesser General Public License]] |
|Lizenz = [[GNU Lesser General Public License]] |
||
|Deutsch = nein |
|Deutsch = nein |
||
|Website = [ |
|Website = [https://freedesktop.org/wiki/Software/cppunit/ freedesktop.org/wiki/Software/cppunit] |
||
|Dateien = |
|Dateien = |
||
}} |
}} |
||
Zeile 27: | Zeile 27: | ||
== Features == |
== Features == |
||
CppUnit hat folgende Eigenschaften:<ref>[ |
CppUnit hat folgende Eigenschaften:<ref>[https://cppunit.sourceforge.net/cppunit-wiki/FrontPage cppunit.sourceforge.net] 25. Oktober 2006</ref> |
||
* [[Extensible Markup Language|XML]]-Ausgabe mit Elementen für zusätzliche Angaben |
* [[Extensible Markup Language|XML]]-Ausgabe mit Elementen für zusätzliche Angaben |
||
* Compiler-ähnliche Text-Ausgabe für die Integration in [[Integrierte Entwicklungsumgebung|IDEs]] |
* Compiler-ähnliche Text-Ausgabe für die Integration in [[Integrierte Entwicklungsumgebung|IDEs]] |
||
* [[Makro |
* [[Makro]]s für die einfache Erstellung von Test-Suites |
||
* Unterstützung von hierarchischen Tests (Tests, die aus einfacheren Tests zusammengesetzt werden) |
* Unterstützung von hierarchischen Tests (Tests, die aus einfacheren Tests zusammengesetzt werden) |
||
* Test-Registrierung zur schnelleren [[Codegenerierung]] |
* Test-Registrierung zur schnelleren [[Codegenerierung]] |
||
Zeile 80: | Zeile 80: | ||
== Weblinks == |
== Weblinks == |
||
* [ |
* [https://sourceforge.net/projects/cppunit CppUnit Homepage] (englisch) |
||
* {{Webarchiv|wayback=20160317110454|url=http://www.evocomp.de/tutorials/tutorium_cppunit/howto_tutorial_cppunit.html|text= CppUnit Tutorial – Unit-Tests mit C++}} |
* {{Webarchiv|wayback=20160317110454|url=http://www.evocomp.de/tutorials/tutorium_cppunit/howto_tutorial_cppunit.html|text= CppUnit Tutorial – Unit-Tests mit C++}} |
||
Aktuelle Version vom 23. Oktober 2023, 18:31 Uhr
CppUnit | |
---|---|
Basisdaten
| |
Aktuelle Version | 1.15.1 (25. Dezember 2019) |
Betriebssystem | Plattformübergreifend |
Programmiersprache | C++ |
Kategorie | Unit-Test |
Lizenz | GNU Lesser General Public License |
deutschsprachig | nein |
freedesktop.org/wiki/Software/cppunit |
CppUnit ist ein Unit-Test-Framework für die Programmiersprache C++. Es ist dem Java-Tool JUnit nachempfunden.
CppUnit testet Programmeinheiten (meistens Klassen). Zur Erstellung eines neuen Tests wird eine neue Klasse erstellt, die mit CppUnit-Makros erweitert wird. Die Methoden der Klasse werden als Test registriert. Innerhalb der Methoden können nun Methoden anderer Klassen getestet werden. Dabei testet man üblicherweise, ob eine konkrete Eingabe eine richtige Ausgabe produziert. Die Ergebnisse der Tests können maschinenlesbar in XML, als Textausgabe oder mit den mitgelieferten GUI-basierten Programmen angezeigt werden.
Features
[Bearbeiten | Quelltext bearbeiten]CppUnit hat folgende Eigenschaften:[1]
- XML-Ausgabe mit Elementen für zusätzliche Angaben
- Compiler-ähnliche Text-Ausgabe für die Integration in IDEs
- Makros für die einfache Erstellung von Test-Suites
- Unterstützung von hierarchischen Tests (Tests, die aus einfacheren Tests zusammengesetzt werden)
- Test-Registrierung zur schnelleren Codegenerierung
- Test-Plug-In für schnellere Compile/Test-Zyklen (selbsttestfähige dynamische Bibliothek)
- Schutzmechanismus zur Kapselung der Testausführung, ermöglicht das Abfangen von Ausnahmen, die nicht von der Standard-Ausnahme (
std::exception
) abgeleitet sind. - MfcTestRunner, ein auf den Microsoft Foundation Classes (MFC) basierender Test-Runner
- QtTestRunner, ein auf Qt 4 basierender grafischer Test-Runner
- CursesTestRunner, ein auf Curses basierender Test-Runner
- WxWidgetsTestRunner, ein auf wxWidgets basierender Test-Runner
Beispiel
[Bearbeiten | Quelltext bearbeiten]Dieses Beispiel zeigt einen Unit-Test. Die Klasse Kalkulator
ist das zu testende Objekt, KalkulatorTest
der Unit-Test. (Für die Ausführung des Tests muss der Programmstartpunkt modifiziert werden.)
Klasse Kalkulator
...
class Kalkulator
{
public:
// Berechne die Wurzel von k
double squareRoot(double k) { return sqrt(k); }
};
Klasse KalkulatorTest
#include <cppunit/extensions/HelperMacros.h>
class KalkulatorTest : public CPPUNIT_NS::TestFixture
{
CPPUNIT_TEST_SUITE( KalkulatorTest );
CPPUNIT_TEST( testSqrt );
CPPUNIT_TEST_SUITE_END();
public:
void testSqrt();
};
CPPUNIT_TEST_SUITE_REGISTRATION( KalkulatorTest );
void KalkulatorTest::testSqrt() {
Kalkulator kalk;
CPPUNIT_ASSERT(kalk.squareRoot(9) == 3);
}
Weblinks
[Bearbeiten | Quelltext bearbeiten]- CppUnit Homepage (englisch)
- CppUnit Tutorial – Unit-Tests mit C++ ( vom 17. März 2016 im Internet Archive)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ cppunit.sourceforge.net 25. Oktober 2006