Unit Test in Visual Studio einsetzen



  • Hallo Zusammen,

    Wie kann ich bitte Unit Test für eine bereit bestehen Projekt in C++.
    Ich weiss es ist schwer jetzt alles nachzubauen aber es lässt sich nicht vermeiden.
    In der SW sind so viele Bugs, die leider durch die Jahren immer schlimmer wurde.

    Ich brauche einen einfach Tutorial, wie ist das zu setzen?
    Anders gefragt wie benuzt ihr das Unit Test?

    Danke in voraus



  • s. Schreiben von Komponententests für C/C++ mit dem Microsoft-Unittest-Framework für C++
    Dafür müssen aber die zu testenden Funktionen per "_declspec(dllimport)" importiert werden, d.h. möglichst in einer eigenen DLL ausgelagert sein.

    Alternativ kannst du mal CppTest anhand des Tutorial ausprobieren.



  • Hallo,
    ich habe paar Fragen im Bezug auf Unit Test:

    1)Soll das zu testendes Code immer als DLL erstellt werden?
    Mit anderen Worten:
    Wenn ich in einem Projekt Uni Test integrieren möchte, soll ich einen extra Testprojeckt erstellen?

    2)Wie ist die Abhängigkeiten der Klassen zu testen?
    3)Wie ist die GUIs zu testen?
    4)Wie ist mit dem Modulentest?

    Danke in voraus



  • Hi Saheb,

    wie der zu testende Source Code zu erstellen ist, hängt von dem Testsystem ab, welches du verwendest. Aber du musst dem Testframework immer bekannt machen, welcher Code getestet wird.

    Auch mit Visual Studio kannst du tests für nicht exportierte Funktionen schreiben:
    https://msdn.microsoft.com/de-de/library/hh419385.aspx#objectRef

    Modultest ist das deutsche Wort für unit test, meint also das gleiche.

    Wenn man Abhängigkeiten testest spricht man meistens von Integrationstests. Kann man manchmal auch mit Unit Test Systemen abdecken.

    Eine Gui zu testen, ist etwas anders. Natürlich kann man das Erstellen von Fenstern, bestimmte Funktionalitäten etc. eventuell auch mit Unit Test Frameworks abdecken, aber häufig möchte man da die interaktion mit einem Anwender simulieren. Hierfür gibt es extra Software. Auf die Schnelle fallen mir da "Ranorex" und "Test Complete" ein.


Anmelden zum Antworten