none
Unit Tests werden nicht ausgeführt (Fehler beim Einrichten des Ausführungskontexts) RRS feed

  • Frage

  • Hallo,

    Ich versuche schon seit circa drei oder vier Tagen die Unit Tests für ein Projekt zum laufen zu bekommen. Die Struktur ist bisher so, dass ich eine DLL von einem Projekt erstelle, welches als eine Art Engine dient (beinhaltet Klassen über Matrizen, Vektoren, Managerklassen usw.). Diese DLL wird dann von einer Hauptanwendung genutzt, die als EXE kompiliert wird. 

    Nun habe ich ein neues Unit-Test-Komponenten-Projekt erstellt, welches die Klassen der "Engine" testen soll. Ich habe anfangs einfache Tests durchgeführt, die einfach nur feststellen sollen, ob die Unit Test Umgebung planmäßig funktioniert. Der Code dafür sieht so aus:

    #include "stdafx.h"
    #include "CppUnitTest.h"
    using namespace Microsoft::VisualStudio::CppUnitTestFramework;
    
    namespace MyProjectUTest
    {		
    	TEST_CLASS(UnitTest1)
    	{
    	public:
    		TEST_METHOD(TestMethod1){ Assert::AreEqual(1, 1); }
    		TEST_METHOD(TestMethod2){ Assert::AreEqual(1, 0); }
    	};
    }

    Das Ergebnis funktioniert planmäßig. Die erste Methode klappt, wobei die zweite nicht funktioniert.
    Nun habe ich die Headerdatei hinzugefügt (in die stdafx.h) meines anderen Projekts und erneut kompiliert. Funktioniert alles einwandfrei, allerdings, nachdem ich versuche auf meine Vektorklasse zuzugreifen um davon ein Objekt zu erzeugen, bekomme ich folgenden Fehler, welcher bei _JEDEM_ Test angezeigt wird:

    Meldung: Fehler beim Einrichten des Ausführungskontexts zur Ausführung des Tests

    Wobei der Code dafür wie folgt aussehen würde:

    TEST_METHOD(TestMethod1)
    { 
        MyVector my_vector;
        Assert::AreEqual(1, 1); 
    }

    Also für mich ist dieser Fehler nicht gerade vielsagend. Ich habe danach gegoogelt doch leider nichts hilfreiches gefunden. 
    Des Testhalber habe ich mich an GTest mit den selben Einstellungen versucht und GTest funktioniert problemlos, was jetzt nicht sonderlich viel heißt, nur das die Linkungen und Referenzierungen soweit korrekt sein müssen.
    Was mich auch etwas verwundert ist, dass ich ein Test-Projekt angelegt habe, welches nur eine "Calculator" Klasse mit "Add" und "Substract" Methoden beinhaltet. Auch hier habe ich ein Komponententest-Projekt hinzugefügt, allerdings kann ich hier gezielt auf die Methoden zugreifen und das Rückgabeergebnis testen.

    Von selbst bin ich leider auf keine Lösung gestoßen, aber vielleicht kann mir von euch jemand helfen?

    Beste Grüße,
    Manic.



    Freitag, 6. Juni 2014 20:54