<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://update.proggen.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://update.proggen.org/feed.php">
        <title>proggen.org cpp:cppunit</title>
        <description></description>
        <link>http://update.proggen.org/</link>
        <image rdf:resource="http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico" />
       <dc:date>2026-04-19T18:38:04+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cppunit:implementation&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cppunit:linux&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cppunit:mac&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cppunit:planing&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cppunit:project&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cppunit:start&amp;rev=1663868365"/>
                <rdf:li rdf:resource="http://update.proggen.org/doku.php?id=cpp:cppunit:why&amp;rev=1663868365"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico">
        <title>proggen.org</title>
        <link>http://update.proggen.org/</link>
        <url>http://update.proggen.org/lib/tpl/proggenY/images/favicon.ico</url>
    </image>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cppunit:implementation&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cppunit:implementation</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cppunit:implementation&amp;rev=1663868365</link>
        <description>Testimplementation

Ein Unit-Test besteht normalerweise nicht aus einer einzelnen Überprüfung, sondern aus einer Vielzahl von Szenarien, die abgetestet werden. Hierfür wird üblicherweise eine Test-Klasse geschrieben, die eine Reihe von Funktionen bietet.</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cppunit:linux&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cppunit:linux</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cppunit:linux&amp;rev=1663868365</link>
        <description>CPPUnit mit Linux

CPPUnit ist üblicherweise in der Paketverwaltung vorhanden.

Installation unter Debian

aptitude install libcppunit-dev

Installation unter Ubuntu

sudo aptitude install libcppunit-dev

Installation aus den Quellen

Grundsätzlich lässt sich CPPUnit natürlich auch aus den Quellen installieren. Dies funktioniert ebenso, wie beim beim</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cppunit:mac&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cppunit:mac</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cppunit:mac&amp;rev=1663868365</link>
        <description>CPPUnit auf dem Macintosh

Installation

Zunächst muss das erforderliche Archiv aus dem Internet geladen werden. Derzeit ist die Version 1.12.1 aktuell. Der Download findet sich auf dieser Seite: &lt;http://sourceforge.net/projects/cppunit/files/&gt;.

Das TAR-Archiv speichern wir in einem beliebigen Verzeichnis und wechseln mit einem Terminal ins Verzeichnis und entpacken das Archiv:</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cppunit:planing&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cppunit:planing</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cppunit:planing&amp;rev=1663868365</link>
        <description>Testplanung

Bekannte Fehler testen

Im [fehlerhaften Projekt] wissen wir von einem Fehler. Das bedeutet, dass wir bereits einen Soll-Zustand kennen, den wir mit der bisherigen Implementierung nicht erreichen.
Schauen wir uns das Hauptprogramm an:

int main( void )
{
  Stack stack(10);
 
  stack.Push( 1 );
  stack.Push( 2 );
  stack.Push( 3 );
 
  for( unsigned int value; stack.Pop( value ); )
    printf( &quot;Wert: %d\n&quot;, value );
 
  return 0;
}</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cppunit:project&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cppunit:project</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cppunit:project&amp;rev=1663868365</link>
        <description>Das Beispiel-Projekt

Wie in der Einleitung beschrieben, wollen wir einen kleinen Stack implementieren und testen.

Stack-Header

Hier nochmals der Header:


class Stack
{
  unsigned int * Buffer;
  unsigned int   Size;
  unsigned int   Position; 
 
  public:
    Stack( unsigned int size );
    ~Stack();
 
    bool Push( unsigned int   value );
    bool Pop ( unsigned int &amp; value );
 
    inline unsigned int * GetBuffer() { return Buffer; }
    inline unsigned int   GetSize()   { return Size; }
…</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cppunit:start&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cppunit:start</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cppunit:start&amp;rev=1663868365</link>
        <description>CPPUnit

Einführung

	*  Warum CPPUnit verwenden?

	*  Installation
		*  Macintosh
		*  Linux
		*  Windows   


Ein Beispielprojekt testen

	*  Das Beispielprojekt
	*  Testplanung
	*  Implementation: Grundlagentests
	*  Ausnahmen testen: Schwerwiegende Fehler testen

Projektplanung

	*  Test Driven Development

Links

Website: &lt;http://sourceforge.net/apps/mediawiki/cppunit/index.php?title=Main_Page&gt; 

Download: &lt;http://sourceforge.net/projects/cppunit/&gt;</description>
    </item>
    <item rdf:about="http://update.proggen.org/doku.php?id=cpp:cppunit:why&amp;rev=1663868365">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-22T19:39:25+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cpp:cppunit:why</title>
        <link>http://update.proggen.org/doku.php?id=cpp:cppunit:why&amp;rev=1663868365</link>
        <description>CPPUnit

Wenn man ein C++-Programm geschrieben hat und es kompiliert kann man es einfach ausprobieren, um es zu testen.
Der Nachteil solcher manueller Tests ist, dass sie prinzipiel nach jedem Compilerlauf neu ausgeführt werden müssten.

Sobald ein Programm mehrere Funktionen anbietet, steigt der Testaufwand entsprechend. Dies ist durch einen Benutzer schnell nicht mehr zu leisten. Also müssen Tests automatisiert werden.</description>
    </item>
</rdf:RDF>
