CppUnit

CppUnit
Basisdaten
Aktuelle Version 1.15.1
(25. Dezember 2019)
Betriebssystem Plattformübergreifend
Programmier­sprache 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

CppUnit hat folgende Eigenschaften:

Beispiel

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);
}

Einzelnachweise

  1. ↑ cppunit.sourceforge.net 25. Oktober 2006