10
votes

Utiliser un test de boost avec Visual Studio

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()


0 commentaires

5 Réponses :


1
votes

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 du tout. BOOST_TEST_MODULE Dites-le où définir principal , aussi loin que je suis au courant.


0 commentaires

0
votes

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.


0 commentaires

19
votes

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.


1 commentaires

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.



10
votes

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.


1 commentaires

Je ne peux pas croire après tout ce temps, je peux enfin mettre une réponse à cette question ^^. Merci!



1
votes

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).


0 commentaires