CLOSED : Boost::Test makefile + testsuits



  • Meine Frage ist etwas speziell, aber ich hoffe ihr könnt mir dennoch weiter helfen.

    Ich habe mehrere Klassen die Ich testen möchte, der übersicht halber jeweils in einer zugehörigen .cpp, allerdings arbeite ich mit Make und dementsprechend ist es mir zu umständlich für jedes Einzelnde ein target an zu legen und jedes einzelnd aus zu führen. Deshalb kam ich auf die Idee immer nur die .cpp zu schreiben und diese dann in eine Wrapper_Testing.cpp einzubinden:

    #define BOOST_TEST_MODULE Suites
    #define BOOST_TEST_DYN_LINK
    #include <boost/test/included/unit_test.hpp>
    #include "Model_Troop_Testing.cpp"
    #include "Model_Area_Basic_Testing.cpp"
    #include "Model_Area_Testing.cpp"
    #include "Mode_Fraction_Testing.cpp"
    

    Nun ist aber das Problem, das der Compiler mir schon bei Model_Area_Basic_Testing.cpp Fehler auspuckt, die sich so anhören als ob der Compiler nicht "versteht" das er die .cpp erst includen soll bevor er guckt ob alles nötige vorhanden ist.

    Model/Model_Area_Basic_Testing.cpp:14: error: expected constructor, destructor, or type conversion before ‘(’ token
    Model/Model_Area_Basic_Testing.cpp:33: error: expected constructor, destructor, or type conversion before ‘(’ token
    Model/Model_Area_Basic_Testing.cpp:52: error: expected constructor, destructor, or type conversion before ‘(’ token
    Model/Model_Area_Basic_Testing.cpp:70: error: expected constructor, destructor, or type conversion before ‘(’ token
    Model/Model_Area_Basic_Testing.cpp:86: error: expected constructor, destructor, or type conversion before ‘(’ token
    Model/Model_Area_Basic_Testing.cpp:102: error: expected constructor, destructor, or type conversion before ‘(’ token
    Model/Model_Area_Basic_Testing.cpp:119: error: expected constructor, destructor, or type conversion at end of input
    

    Meine Makefile sieht wie folgt aus:

    #Hier faengt der Part fuer die Testsuite an	
    deleteTestSuitModel : runModelTest
    	rm TestSuitModel
    	rm *.o
    
    runModelTest : TestSuitModel
    	./TestSuitModel $(TestSuitPara)
    
    TestSuitModel : Model_Test_Wrapper.o  $(Model.obj) $(Model_Test.obj)
    	g++ -o TestSuitModel  $^  $(CompilerTestPar)
    
    Model_Test_Wrapper.o : Model_Test_Wrapper.cpp #hier compiliere ich den Wrapper
    	g++ -c $<
    
    #Ab hier die einzelnden .cpp
    
    Model_Area_Basic_Testing.o : Model_Area_Basic_Testing.cpp
    	g++ -c $< 
    
    Model_Area_Tesing.o : Model_Area_Testing.cpp
    	g++ -c $<
    
    Model_Troop_Testing.o : Model_Troop_Testing.cpp
    	g++ -c $<
    

    Danke für eure Zeit und Hilfe.

    €: Habe das Problem nun gezwungenermaßen anders gelöst, habe eine sub-makefile in dem Unterordner der zu testenden Dateien gemacht und regel darüber das Testing der einzelnden Klassen. Nicht so schön, aber praktikabel.


Anmelden zum Antworten