Boost est une bibliothèque C/C++ qui étend les fonctionnalité de la bibliothèque standard. Elle offre notamment un framework de tests.
Installation de la bibliothèque via le gestionnaire de paquets:
$ sudo apt-get install libboost-test-dev
Ajouter la bibliothèque au projet, en la déclarant au linker. Sous Eclipse:
Creer le fichier d'entete a ajouter a tous les fichiers sources de test:
/* * Test.h * * Created on: 10 nov. 2013 * Author: yoann */ #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MAIN #include <boost/test/unit_test.hpp>
Pour chaque classe du projet, un fichier de test est créé. Dans l'exemple suivant, la classe Boat est testée dans le fichier Boat_test.cpp Les macros boost permettent de déclarer des tests et les conditions de validations:
#include "Test.h" #include "Boat.h" BOOST_AUTO_TEST_CASE(BoatconstructorTest) { Boat my_boat = Boat(); //A l'instanciation un bateau a 10 point d'armure et une taille de 5 unités par défaut. BOOST_REQUIRE_EQUAL(my_boat.getArmor(), 10); BOOST_REQUIRE_EQUAL(my_boat.getSize(), 5); } BOOST_AUTO_TEST_CASE(BoatsetArmorTest1) { Boat my_boat = Boat(); BOOST_REQUIRE_EQUAL(my_boat.getArmor(), 10); //la methode setArmor redefinit la valeur de l'armure my_boat.setArmor(22); BOOST_REQUIRE_EQUAL(my_boat.getArmor(), 22); }