Bonjour,
J'ai un projet organisé comme suit :
Je shouaite écrire les tests de chacune de mes classe dans un fichier séparé avec pour chaque fichier une 'test suite' regroupant tous les 'test case' applicables à la classe en question.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 +com |+masociete ||+buisness |||-Classes1 |||-Classes2 |||... ||+support |||-Classes3 |||-Classes4 |||... ||...
Je souhaite également définir une test suite au niveau de chaque package pour regrouper les test suites de niveau inférieur pour n'avoir au final qu'une suite au niveau du projet qui lance récursivement tous les tests.
Les essais que j'ai fait en utilisant les macros BOOST_AUTO_TEST_SUITE et BOOST_AUTO_TEST_CASE provoquent des erreurs de link dès que j'ai des tests dans plus d'un fichier.
Voici un exemple de ce que j'ai fait :
Tant que je n'ai que ce qui précède dans mon projet, tout va.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 //Classe1Tests.cpp #define BOOST_TEST_MODULE allTests #include <boost/test/unit_test.hpp> BOOST_AUTO_TEST_SUITE(Classe1TestsSuite); BOOST_AUTO_TEST_CASE( test1 ){ BOOST_CHECK(1 == 2-1); } BOOST_AUTO_TEST_SUITE_END();
Par contre, si j'ajoute ce qui suit, rien ne va plus :
Voici ce que j'ai au link :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 //Classe2Tests.cpp #define BOOST_TEST_MODULE allTests #include <boost/test/unit_test.hpp> BOOST_AUTO_TEST_SUITE(Classe2TestsSuite); BOOST_AUTO_TEST_CASE( test2 ){ BOOST_CHECK(1 != 2); } BOOST_AUTO_TEST_SUITE_END();
Qu'est-ce que je fais mal ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 In function `Z20init_unit_test_suiteiPPc': C:/dev/boost_1_34_1/boost/test/unit_test_suite.hpp:184: multiple definition of `init_unit_test_suite(int, char**)' tests\main.o(.text+0x12):C:/dev/boost_1_34_1/boost/test/unit_test_suite.hpp:184: first defined here Build error occurred, build is stopped
P.S. Je suis sous Windows XP, Eclipse CDT, BOOST 1.34.1 compilé avec MinGW
Partager