Test klasse in c++ erstellen?

#1

Hey.
Mir wurde vorgestern aufgetragen mich in C# und C++ einzulesen und dafür hab ich von der selben Seite wie ich damals Java gelernt hab ein C++ Tutorial (https://www.video2brain.com/de/videotraining/c-das-grosse-training) bekommen und lade das gerade runter. hab dazu parallel cygwin runtergeladen und nach dem Netbeans-Tutorial eingerichtet. Zum Test sollte ich dann eines der Sample-Projekte erstellen und ausführen um zu schauen, ob das einrichten geklappt hat. Das tut es auch.
Nur frage ich mich, da es hier bei Rechtsklick kein Run file gibt wie bei Java, muss ich dann jedes mal wenn ich etwas in ner Klasse testen will, ein neues Projekt erstellen? Ich hab dafür gegoogled und nur englische Antworten gefunden, die ich nur teils verstanden habe. Und zwar werden die Dateien erst kompiliert und dann gelinked und daher soll es nicht möglich sein, einfach so eine Datei mit ner Main auszuführen.
Das stelle ich mir später sehr umständlich vor, wenn ich bedenke wieviele Java-Klassen ich nur für einzelne Sachen erstellt habe, um etwas kurz auszuprobieren. Daher gibt es dort auch ne Möglichkeit mehrere .c Dateien in einem projekt zu haben, die man Unabhängig voneinander ausführen kann? Oder ist es dort nicht möglich? Evtl wird mir das dann auch im Tutorial gesagt, aber das braucht noch etwas bis ich es habe.

MfG

#2

Ein c(++) Programm kann immer nur eine main-Methode haben, also ja, zum kurz ausprobieren musst du entsprechende Testprojekte erstellen.

Oder Du arbeitest Dich gleich noch in entsprechende UnitTest-Frameworks ein, dann kannst Du wenigsten alles in einem Projekt behalten…

bye
TT

#3

Oder der Klassiker


void testThis();
void testThat();
void testSomethingElse();

int main(int argc, char* argv[])
{
    //testThis();
    testThat();
    //testSomethingElse();
    return 42;
}

:wink:
Unit-Test-Frameworks in C++ sind so eine Sache.
(Am Ende emfiehlt einem noch jemand Boost Unit Tests… so ein Krampf…)

#4

Moin,

Wichtigste Frage - C# und C++ oder C bzw. C++? In letzterem Fall denke ich es war oben ein Schreibfehler. In ersterem Fall hast Du 2 gewaltige Themengebiete und ein Problem. Solltest Du Dich aber mit C++/CLI auseinandersetzen hast die A-Karte.

Ansonsten: Unit-Test darfst Du von Hand schreiben (wie breits geschrieben)