J'essaie d'utiliser Boost Test pour ajouter des tests d'unités indispensables à mon code. Cependant, je ne peux pas sembler le faire fonctionner. À l'heure actuelle, j'ai le code suivant
#include <Drawing.h> #define BOOST_AUTO_TEST_MAIN #define BOOST_TEST_MODULE DrawingModelTests #include <boost/test/unit_test.hpp> BOOST_AUTO_TEST_SUITE(DrawingModelTests) BOOST_AUTO_TEST_CASE ( DrawingConstructorTest) { Drawing * drawing = new Drawing; delete drawing; } BOOST_AUTO_TEST_SUITE_END()
5 Réponses :
Mon code est similaire et fonctionne bien. La seule différence que je peux voir est que je ne définisse pas boost_auto_testest_main code> du tout.
BOOST_TEST_MODULE CODE> Dites-le où définir
principal code>, aussi loin que je suis au courant. P>
En fin de compte, le moyen de faire fonctionner était d'utiliser Boost.test en tant que bibliothèque dynamique au lieu d'une bibliothèque statique. P>
Ajouter / Sous-système: console aux indicateurs de liaison. Dans les paramètres du projet, ceci est sur la page Linker-> System. Vous pouvez utiliser Boost comme bibliothèque dynamique ou statique. P>
J'ai eu le même problème, à l'aide de la bibliothèque de tests Google et de la liaison à GTEST_MAIN.LIB. Cela corrigé cela aussi.
J'ai eu ce problème avec VS2010 et la solution consistait à définir "Propriétés de configuration -> Linker -> Avancé -> Point d'entrée" sur "Main" pour le projet. P>
Je ne peux pas croire après tout ce temps, je peux enfin mettre une réponse à cette question ^^. Merci!
i Définir 'Propriétés de configuration -> Linker -> Avancé -> Point d'entrée' à 'MaincrTstartup', qui fait le tour pour moi. (Dans ma configuration de construction particulière, je liens statiquement les bibliothèques de boost). P>