cppunit mit Netbeans?!

Alles was mit C/C++ unter NetBeans zu tun hat

Moderator: wegus

Antworten
Delryn
Beiträge: 4
Registriert: 28.11.2008, 15:08

cppunit mit Netbeans?!

Beitrag von Delryn » 28.03.2012, 08:37

Hallo zusammen,

ich versuche seit 4 Stunden, cppunit in Kombination mit Netbeans 7.1.1 zum Laufen zu bekommen. Meine erste Frage:
  • Gibt es vlt. schon irgendwie eine Netbeans-Version zum herunterladen, wo cppunit schon inbegriffen ist? Out-of-the-box?

Ansonsten schildere ich jetzt mal mein Problem:

Wenn ich in Netbeans einen Unit-Test anlegen will, werde ich auf folgendes hingewiesen:
"cppunit library is not detected. Test compilation might fail"
Ich habe mir also cppunit 1.12.1 heruntergeladen und mit msys und den entsprechenden Werkzeugen die Bibliothek kompiliert. Dann habe ich in den Netbeans-Projekteinstellungen den Pfad zu den Includes und zu den Bibliotheken angegeben (die Datentypen sind nun auch bekannt). D.h. ich kann jetzt die Tests kompilieren und auch linken (Netbeans meldet beim Anlegen weiterer Tests allerdings weiterhin
"cppunit library is not detected. Test compilation might fail"
.

Führe ich jetzt die Tests aus, bekomme ich immer Segmentation-Faults. In der Gui ist der graue Testbalken bei 0.00% und im Ausgabefenster steht dann
/usr/bin/sh: line 5: 1812 Segmentation fault ./build/Debug/MinGW-Windows/tests/TestFiles/f1
Dabei ist es unerheblich, ob ich statisch oder dynamisch linke.

Kann mir da irgendwer helfen :|

Delryn
Beiträge: 4
Registriert: 28.11.2008, 15:08

Re: cppunit mit Netbeans?!

Beitrag von Delryn » 28.03.2012, 09:26

Hab eben auch nochmal cppunit 1.8 (also die ältere Version) kompiliert, die arbeitet aber garnicht mit den von Netbeans generiertenTests zusammen. Bleibt mir wohl nichts anderes übrig, als die "C++ Simple Tests" zu nehmen, die funktionieren wenigstens.

Size
Beiträge: 30
Registriert: 08.05.2009, 23:04

Re: cppunit mit Netbeans?!

Beitrag von Size » 23.05.2012, 14:38

Hi Delryn,

ich hatte exakt dasselbe Problem mit CPPUnit in Netbeans - auch in vorherigen Versionen.

Mein Vorschlag: Entweder du weichst auf einen Standard C++/C Test aus (je nachdem was du benutzt), denn diese basieren soweit ich weiss nur auf std::cout. Oder - und so hab ich es gemacht - du steigst um auf Boost.Test. Boost.Test halte ich momentan für ein hervorragendes Test System. Einen Überblick findest du hier:

http://www.boost.org/doc/libs/1_49_0/li ... index.html

Die Installation ist hier beschrieben:

http://www.boost.org/doc/libs/1_49_0/mo ... index.html

Vorab, solltest du ein Test System mit mehreren Files aufbauen, so benötigst du eine Einbindung der dynamischen Test LIbrary lboost_unit_test_framework.dylib (bzw. .dll auf WIndows Systemen glaub ich). Dafür musst du dann zusätzlich noch einen Build für die Boost Library machen - es reicht hier den Build nur für Boost.Test zu machen. Solltest du einen gesamten Build machen wollen, so benutze den Befehl

bjam --build-dir=</Directory/to/build/in> --toolset=darwin

wenn du einen Mac benutzt und

bjam --build-dir=</Directory/to/build/in> --toolset=msvc stage

wenn du Windows benutzt.

Auf http://www.boost.org/doc/libs/1_35_0/mo ... ndows.html und http://www.boost.org/doc/libs/1_35_0/mo ... iants.html sind alle EInzelheiten nochmal erklärt.

Ein gutes Tutorial findest du einerseits auch unter der Boost.Test Library und weiterhin hier:

http://www.alittlemadness.com/2009/03/3 ... boosttest/

oder hier

http://www.ibm.com/developerworks/aix/l ... ls1_boost/

Ich hoffe das hilft dir ein wenig weiter.

Zur Warnung: Das Test Fenster in NetBeans öffnet sich weiterhin ihne Inhalt und wird unendlich weiterlaufen. Das habe ich auch bemängelt in meinem Thread. Wie man es ausschalten kann ist mir noch ein Rätsel. Eine Möglichkeit ist alle Tests in einem neuen Projekt zu machen und somit ein Release und ein Test Projekt zu halten. In den Test Ordnern eines Projektes wird auf jeden Fall immer das Test Fenster geöffnet.

Simon

Antworten