<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Cpp Unit Test Fehler]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich versuche gerade CPP-Unit Tests zum laufen zu bekommen. Allerdings erhalte ich Fehler, welche ich nicht verstehe. Vielleicht habt ihr ja einen Tip für mich.</p>
<pre><code class="language-cpp">#ifndef PEERUNITTEST_H
#define	PEERUNITTEST_H

#include &lt;cppunit/extensions/HelperMacros.h&gt;

namespace A {
    namespace B {

        class PeerUnitTest : public CPPUNIT_NS::TestFixture {

            CPPUNIT_TEST_SUITE(PeerUnitTest);
            CPPUNIT_TEST(testPeer);
            CPPUNIT_TEST_SUITE_END();

        public:
            PeerUnitTest();
            virtual ~PeerUnitTest();
            void setUp();
            void tearDown();

        private:

            void testPeer();
        };
    }
}
#endif	/* PEERUNITTEST_H */
</code></pre>
<pre><code class="language-cpp">#include &quot;PeerUnitTest.h&quot;

#include &quot;../Exception.h&quot;
#include &quot;../Peer.h&quot;
#include &quot;../Group.h&quot;
#include &quot;../common/GroupReferrer.h&quot;
#include &quot;../common/Cluster.h&quot;
#include &quot;../common/ClusterReferrer.h&quot;

namespace A {
    namespace B {

        CPPUNIT_TEST_SUITE_REGISTRATION(PeerUnitTest);

        PeerUnitTest::PeerUnitTest() {
        }

        PeerUnitTest::~PeerUnitTest() {
        }

        void PeerUnitTest::setUp() {
        }

        void PeerUnitTest::tearDown() {
        }

        void PeerUnitTest::testPeer() {

            Peer a;
            CPPUNIT_ASSERT(a.getPeerID() == -1);
            CPPUNIT_ASSERT(a.getRole() == Peer::SLAVE);
            CPPUNIT_ASSERT(a.getLocalAddress() == -1);
            CPPUNIT_ASSERT(a.getState() == Peer::JOINED);
            CPPUNIT_ASSERT_THROW(a.getMasterAddress(), AttributeNotSetException );

        }//End testPeer
  }
}
</code></pre>
<p>Allerdings erhalte ich vom CppUnitTestCompiler folgende Fehler:</p>
<pre><code>build/Debug/GNU-Linux-x86/tests/tests/PeerUnitTest.o: In function `__tcf_0':
PeerUnitTest.h:19: undefined reference to `CppUnit::TestNamer::~TestNamer()'
PeerUnitTest.o: In function `A::B::PeerUnitTest::testPeer()':
PeerUnitTest.cc:40: undefined reference to `CppUnit::SourceLine::SourceLine(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, int)'
PeerUnitTest.cc:40: undefined reference to `CppUnit::Message::Message(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)'
PeerUnitTest.cc:40: undefined reference to `CppUnit::Asserter::failIf(bool, CppUnit::Message const&amp;, CppUnit::SourceLine const&amp;)'
PeerUnitTest.cc:40: undefined reference to `CppUnit::SourceLine::~SourceLine()'
PeerUnitTest.cc:40: undefined reference to `CppUnit::SourceLine::~SourceLine()'
PeerUnitTest.cc:41: undefined reference to `CppUnit::SourceLine::SourceLine(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, int)'
PeerUnitTest.cc:41: undefined reference to `CppUnit::Message::Message(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)'
PeerUnitTest.cc:41: undefined reference to `CppUnit::Asserter::failIf(bool, CppUnit::Message const&amp;, CppUnit::SourceLine const&amp;)'
PeerUnitTest.cc:41: undefined reference to `CppUnit::SourceLine::~SourceLine()'
PeerUnitTest.cc:41: undefined reference to `CppUnit::SourceLine::~SourceLine()'

.....
</code></pre>
<p>Kann mir jemand sagen wieso dies passiert? Der Testrunner wurde automatisch durch meine IDE erzeugt.</p>
<p>Gruß, uwe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/270008/cpp-unit-test-fehler</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 20:08:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270008.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 05 Jul 2010 11:27:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Cpp Unit Test Fehler on Mon, 05 Jul 2010 11:40:01 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich versuche gerade CPP-Unit Tests zum laufen zu bekommen. Allerdings erhalte ich Fehler, welche ich nicht verstehe. Vielleicht habt ihr ja einen Tip für mich.</p>
<pre><code class="language-cpp">#ifndef PEERUNITTEST_H
#define	PEERUNITTEST_H

#include &lt;cppunit/extensions/HelperMacros.h&gt;

namespace A {
    namespace B {

        class PeerUnitTest : public CPPUNIT_NS::TestFixture {

            CPPUNIT_TEST_SUITE(PeerUnitTest);
            CPPUNIT_TEST(testPeer);
            CPPUNIT_TEST_SUITE_END();

        public:
            PeerUnitTest();
            virtual ~PeerUnitTest();
            void setUp();
            void tearDown();

        private:

            void testPeer();
        };
    }
}
#endif	/* PEERUNITTEST_H */
</code></pre>
<pre><code class="language-cpp">#include &quot;PeerUnitTest.h&quot;

#include &quot;../Exception.h&quot;
#include &quot;../Peer.h&quot;
#include &quot;../Group.h&quot;
#include &quot;../common/GroupReferrer.h&quot;
#include &quot;../common/Cluster.h&quot;
#include &quot;../common/ClusterReferrer.h&quot;

namespace A {
    namespace B {

        CPPUNIT_TEST_SUITE_REGISTRATION(PeerUnitTest);

        PeerUnitTest::PeerUnitTest() {
        }

        PeerUnitTest::~PeerUnitTest() {
        }

        void PeerUnitTest::setUp() {
        }

        void PeerUnitTest::tearDown() {
        }

        void PeerUnitTest::testPeer() {

            Peer a;
            CPPUNIT_ASSERT(a.getPeerID() == -1);
            CPPUNIT_ASSERT(a.getRole() == Peer::SLAVE);
            CPPUNIT_ASSERT(a.getLocalAddress() == -1);
            CPPUNIT_ASSERT(a.getState() == Peer::JOINED);
            CPPUNIT_ASSERT_THROW(a.getMasterAddress(), AttributeNotSetException );

        }//End testPeer
  }
}
</code></pre>
<p>Allerdings erhalte ich vom CppUnitTestCompiler folgende Fehler:</p>
<pre><code>build/Debug/GNU-Linux-x86/tests/tests/PeerUnitTest.o: In function `__tcf_0':
PeerUnitTest.h:19: undefined reference to `CppUnit::TestNamer::~TestNamer()'
PeerUnitTest.o: In function `A::B::PeerUnitTest::testPeer()':
PeerUnitTest.cc:40: undefined reference to `CppUnit::SourceLine::SourceLine(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, int)'
PeerUnitTest.cc:40: undefined reference to `CppUnit::Message::Message(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)'
PeerUnitTest.cc:40: undefined reference to `CppUnit::Asserter::failIf(bool, CppUnit::Message const&amp;, CppUnit::SourceLine const&amp;)'
PeerUnitTest.cc:40: undefined reference to `CppUnit::SourceLine::~SourceLine()'
PeerUnitTest.cc:40: undefined reference to `CppUnit::SourceLine::~SourceLine()'
PeerUnitTest.cc:41: undefined reference to `CppUnit::SourceLine::SourceLine(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, int)'
PeerUnitTest.cc:41: undefined reference to `CppUnit::Message::Message(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)'
PeerUnitTest.cc:41: undefined reference to `CppUnit::Asserter::failIf(bool, CppUnit::Message const&amp;, CppUnit::SourceLine const&amp;)'
PeerUnitTest.cc:41: undefined reference to `CppUnit::SourceLine::~SourceLine()'
PeerUnitTest.cc:41: undefined reference to `CppUnit::SourceLine::~SourceLine()'

.....
</code></pre>
<p>Kann mir jemand sagen wieso dies passiert? Der Testrunner wurde automatisch durch meine IDE erzeugt.</p>
<p>Gruß, uwe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1921557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1921557</guid><dc:creator><![CDATA[uwerothfeld]]></dc:creator><pubDate>Mon, 05 Jul 2010 11:40:01 GMT</pubDate></item><item><title><![CDATA[Reply to Cpp Unit Test Fehler on Mon, 05 Jul 2010 11:31:42 GMT]]></title><description><![CDATA[<p>Du hast die CppUnit-Bibliothek nicht dazugelinkt.</p>
<p>Wie du das machst, steht mit ziemlicher Sicherheit in der Dokumentation deiner IDE (meine Kristallkugel ist leider gerade in Reparatur ;)).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1921563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1921563</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Mon, 05 Jul 2010 11:31:42 GMT</pubDate></item><item><title><![CDATA[Reply to Cpp Unit Test Fehler on Mon, 05 Jul 2010 11:42:42 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>erst einmal danke für die schnelle Antwort. So ganz kann es aber nicht stimmen, aus folgenden Gründen:</p>
<p>a) laut Doku zu meiner IDE (Netbeans) reicht es den Include Path anzupassen, der Rest soll magisch gehen (habe auch nirgends was gelesen von add library)<br />
b) die Tests gingen schon mal, ich habe was verändert an den zu testenden Klassen und sie gehen nicht mehr</p>
<p>Ich bin verwirrt.</p>
<p>Gruß, uwe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1921568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1921568</guid><dc:creator><![CDATA[uwerothfeld]]></dc:creator><pubDate>Mon, 05 Jul 2010 11:42:42 GMT</pubDate></item><item><title><![CDATA[Reply to Cpp Unit Test Fehler on Mon, 05 Jul 2010 11:48:38 GMT]]></title><description><![CDATA[<p>Naja, was du da hast, sind Linkerfehler. Der Linker beschwert sich, dass er einen Haufen Symbole aus dem Namensraum CppUnit nicht finden kann - das bedeutet mit ziemlicher Sicherheit, dass die Bibliothek nicht mitgelinkt wird.</p>
<p>Denkbar wäre noch, dass der ganze CppUnit-Code inline definiert ist und du einen notwendigen Header nicht eingebunden hast, aber das käme mir doch recht merkwürdig vor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1921574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1921574</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Mon, 05 Jul 2010 11:48:38 GMT</pubDate></item><item><title><![CDATA[Reply to Cpp Unit Test Fehler on Mon, 05 Jul 2010 12:02:34 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>ne dies sind sie nicht, hab nachgeschaut :). Nun, ich habe das Makefile (automatisch erzeugt) bereinigt, alles rausgeschmissen und einen leeren Testcase angelegt, und siehe es geht! ???</p>
<p>Komische Sache. Hat halt auch ein paar Nachteile, wenn alles die IDE macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1921582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1921582</guid><dc:creator><![CDATA[uwerothfeld]]></dc:creator><pubDate>Mon, 05 Jul 2010 12:02:34 GMT</pubDate></item></channel></rss>