La documentation de Boost.Test et les exemples ne semblent pas vraiment contenir d'exemples non triviaux jusqu'à présent les deux tutoriels que j'ai trouvés ici et ici bien utiles, sont tous deux assez basiques.
J'aimerais avoir une suite de tests principale pour l'ensemble du projet, tout en maintenant des suites de tests unitaires et de fixtures par module pouvant être exécutées de manière indépendante. Je vais également utiliser un serveur factice pour tester divers cas de bord en matière de réseau.
Je suis sous Ubuntu 8.04, mais je prendrai tout exemple Linux ou Windows étant donné que j'écris mes propres makefiles de toute façon.
Édition
Comme test, j'ai fait ce qui suit:
// test1.cpp
#define BOOST_TEST_MODULE Regression
#include
BOOST_AUTO_TEST_SUITE(test1_suite)
BOOST_AUTO_TEST_CASE(Test1)
{
BOOST_CHECK(2 < 1);
}
BOOST_AUTO_TEST_SUITE_END()
// test2.cpp
#include
BOOST_AUTO_TEST_SUITE(test2_suite)
BOOST_AUTO_TEST_CASE(Test1)
{
BOOST_CHECK(1<2);
}
BOOST_AUTO_TEST_SUITE_END()
Ensuite, je le compile : g++ test1.cpp test2.cpp -o tests
Cela me donne environ un bazillion d'erreurs "définition multiple de" pendant la liaison.
Quand tout est dans un seul fichier, ça fonctionne bien.
0 votes
La variante de en-tête unique de UTF que vous utilisez fonctionne uniquement pour un seul fichier. Ce 'petit détail' est documenté : Cette variante ne peut pas être utilisée avec le module de test multi-fichier.