Test Unitaire C++ dans Visual Studio 11
Les tests unitaire sont disponibles dans la version Preview de Visual Studio 11.
Une fois que votre projet est crée, il est possible de rajouter un nouvel élément de type C++ Unit Test (cpp) comme illustré sur la figure suivante.
Ou de rajouter un nouveau projet de type Native Unit Test Project
Un squelette minimum est crée pour que vous puissiez commencer à écrire vos tests Unitaire.
Code Snippet
- #include "stdafx.h"
- #include "CppUnitTest.h"
- using namespace Microsoft::VisualStudio::CppUnitTestFramework;
- namespace UnitTest1
- {
- TEST_CLASS(UnitTest1)
- {
- public:
- TEST_METHOD(TestMethod1)
- {
- Assert::AreEqual(42,42);
- }
- };
- }
Pour que le test soit actif, il faut compiler le projet.
Remarque : Si vous obtenez le message “fatal error C1083: Cannot open include file: 'CppUnitTest.h': No such file or directory”, il faut rajouter les chemins d’accès suivants, pour les includes et les librairies, C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\UnitTest\include, "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\UnitTest\lib"
Pour exécuter le ou les tests, activez la fenêtre : View | Other Windows | Unit Test Explorer
Si le test réussi vous obtenez au jour d’aujourd’hui la fenêtre suivante :
Je reviendrai dans un prochain billet plus en détail sur les éléments du Framework de tests de Visual C++, mais sachez qu’il est basé sur la librairie Microsoft.VisualStudio.TestTools.CppUnitTestFramework.lib et sur un ensemble de macro contenues dans les fichiers d’entête CppUnitTest.h, CppUnitTestCommon.h, CppUnitTestAssert.h, CppUnitTestLogger.h
Pour ceux qui auraient l’habitude de manipuler les tests unitaire avec le Framework .NET, on y retrouvera des méthodes telles que Assert::AreEqual, NotEqual, IsNotNull, etc…, ainsi que des méthodes pour loguer des messages telle Logger::WriteMessage
Eric Vernié