Komponententests erstellen ohne mit der "/clr-safe" - Option zu kompilieren



  • Hallo zusammen,

    ich benutze MSVS2010 Ultimate und wollte gerne für einzelne Methoden ein paar Komponententests erstellen. Das ganze sollte eben automatisiert ablaufen indem ich die zu testende Methode bestimme und dann für diese Methode beliebig viele Paare aus Eingabewerten und erwarteten Ausgabewerten festlege um dann die ganze Sache automatisiert durchlaufenzulassen. Jetzt habe ich festgestellt, dass das wohl nur möglich ist, wenn man das Projekt mit der Option "/clr:safe" kompiliert. Wenn ich das aber mache, bekomme ich sehr viele Fehler, was wohl daran liegt dass ich bestimmte Konstrukte benutze, die bei einer Kompilierung mit "/clr:safe" nicht zulässig sind.

    Abhilfe würde wahrscheinlich eine Migration des Projekts nach "/clr:safe" schaffen, was jedoch leider nicht möglich ist, da ich nicht alleine an dem Projekt arbeite.

    Gibt es eine Möglichkeit meine Methoden nach dem von mir obig beschriebenen Schema durchzuführen, ohne mein Projekt nach "/clr:safe" migrieren zu müssen?

    Mit freundlichen Grüßen



  • Hallo,

    schneidross schrieb:

    Abhilfe würde wahrscheinlich eine Migration des Projekts nach "/clr:safe" schaffen, was jedoch leider nicht möglich ist,

    Wenn du mit C++/CLI arbeitest, bist du hier im falschen Unterforum. Außerdem kann man statt C++ mit /clr:safe dann wirklich besser gleich C# nehmen.

    Willst du dagegen Unittests mit unmanaged C++ machen, lies z.B. das hier
    http://blogs.msdn.com/b/jsocha/archive/2010/11/19/writing-unit-tests-in-visual-studio-for-native-c.aspx



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo, zunächst vielen Dank für die Antwort.

    nn schrieb:

    Wenn du mit C++/CLI arbeitest, bist du hier im falschen Unterforum.

    Woran erkenn ich denn, dass ich mit C++/CLI arbeite? Ich habe mit VS2010 ein VC++ Projekt erstellt und dachte daher, dass ich im Visual C++ Forum an der richtigen Stelle bin.

    nn schrieb:

    Außerdem kann man statt C++ mit /clr:safe dann wirklich besser gleich C# nehmen.

    Da ich nicht alleine an dem Projekt arbeite, ist die Verwendung einer anderen Sprache/Entwicklungsumgebung leider nicht möglich.

    nn schrieb:

    Willst du dagegen Unittests mit unmanaged C++ machen, lies z.B. das hier
    http://blogs.msdn.com/b/jsocha/archive/2010/11/19/writing-unit-tests-in-visual-studio-for-native-c.aspx

    Will ich Unittests mit unmanaged C++ machen? Was ist der Unterschied zwischen managed und unmanaged C++?
    Ich habe mir die Anleitung unter dem Link durchgelesen (danke dafür), musste aber leider feststellen, dass die dort angegebene Lösung für mich nicht praktikabel ist, weil ich dort ein komplett neues Projekt (angeblich sogar mehrere) erstellen müsste. Das käme vielleicht in Frage, wenn ich ein neues Projekt anfangen würde, aber da ich an einem bereits vorhandenen Projekt mitarbeite, ist das leider nicht möglich.

    Ich verstehe einfach generell nicht, wieso das von mir gewünschte Vorgehen so problematisch zu sein scheint. Ich hoffe ich habe micht nicht unklar ausgedrückt. Ich will einfach meine einzelnen Funktionen mittels Stichproben auf ihre korrekte Funktionsweise hin überprüfen.

    Oder muss ich mir da von Hand ein paar Testroutinen schreiben?

    Vielleicht könnt Ihr ein wenig Licht in mein Dunkel bringen. Vielen Dank schonmal für Eure Bemühungen.

    Mit freundlichen Grüßen



  • schneidross schrieb:

    Will ich Unittests mit unmanaged C++ machen? Was ist der Unterschied zwischen managed und unmanaged C++?

    Ahem, seufz, also bevor du nicht eimal weißt, womit du arbeitest, willst du überhaupt keine Unittests machen.

    Die Funktion von Seiten wie Wikipedia ist dir schon klar, oder ?

    schneidross schrieb:

    Ich habe mir die Anleitung unter dem Link durchgelesen (danke dafür), musste aber leider feststellen, dass die dort angegebene Lösung für mich nicht praktikabel ist, weil ich dort ein komplett neues Projekt (angeblich sogar mehrere) erstellen müsste.

    Solltest du mit normalem C++ arbeiten, hat sich die Sache damit schon erledigt und du darfst hier weitermachen

    schneidross schrieb:

    muss ich mir da von Hand ein paar Testroutinen schreiben?

    oder schauen ob du mit boost oder cppunit weiter kommst.

    Für alle drei bin ich nicht so der Experte, aber da sollte sich hier eventuell jemand finden.

    Und wenn du mit C++/CLI arbeitest

    schneidross schrieb:

    Da ich nicht alleine an dem Projekt arbeite, ist die Verwendung einer anderen Sprache/Entwicklungsumgebung leider nicht möglich.

    Doch das ist es. Sprachübergreifende Entwicklung ist eines der Grundprinzipien von .net. C# und C++/CLI passen sehr gut zusammen.



  • nn schrieb:

    Die Funktion von Seiten wie Wikipedia ist dir schon klar, oder ?

    Nein, was ist ein Wikipedia? 🙄

    nn schrieb:

    schneidross schrieb:

    Ich habe mir die Anleitung unter dem Link durchgelesen (danke dafür), musste aber leider feststellen, dass die dort angegebene Lösung für mich nicht praktikabel ist, weil ich dort ein komplett neues Projekt (angeblich sogar mehrere) erstellen müsste.

    Solltest du mit normalem C++ arbeiten, hat sich die Sache damit schon erledigt und du darfst hier weitermachen

    schneidross schrieb:

    muss ich mir da von Hand ein paar Testroutinen schreiben?

    oder schauen ob du mit boost oder cppunit weiter kommst.

    Für alle drei bin ich nicht so der Experte, aber da sollte sich hier eventuell jemand finden.

    Und wenn du mit C++/CLI arbeitest

    schneidross schrieb:

    Da ich nicht alleine an dem Projekt arbeite, ist die Verwendung einer anderen Sprache/Entwicklungsumgebung leider nicht möglich.

    Doch das ist es. Sprachübergreifende Entwicklung ist eines der Grundprinzipien von .net. C# und C++/CLI passen sehr gut zusammen.

    Vielen Dank für Deine Ausführungen, ich habe bereits damit angefangen selbst ein paar kleine Tests für meine Methoden zu schreiben.

    Falls noch jemand ein paar Tipps und Tricks parat hat, bin ich gerne dafür offen.

    Mit freundlichen Grüßen



  • CPPUnit...



  • CppTest! 🙂



  • UnitTest++ ...



  • Vielen Dank für die zahlzeichen Antworten. Ich habe mich jetzt dazu entschieden es mal mit cppunit zu versuchen, was mich direkt zum nächsten Problem geführt hat:

    http://www.c-plusplus.net/forum/299242


Anmelden zum Antworten