Configurer GTest
Ajouter et exécuter le framework
Configurer GTest est une leçon C++ Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C++ Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C++ Academy comprend 4 leçons au total.
Pourquoi utiliser un framework de test ?
Google Test (GTest) est un framework de tests unitaires C++ très utilisé. Il fournit l’enregistrement des tests, des assertions riches, des dispositifs de test et des rapports clairs, afin que vous puissiez vérifier automatiquement votre code.
Obtenir GTest
Voici des moyens courants d’obtenir GTest :
- Paquet système (par exemple
libgtest-dev) - FetchContent dans CMake, qui le récupère depuis GitHub
- Un sous-module intégré au projet
FetchContent est la solution la plus portable pour les nouveaux projets.
CMake avec FetchContent
Une configuration CMake minimale télécharge GoogleTest et l’y lie.
# CMakeLists.txt
include(FetchContent)
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.zip
)
FetchContent_MakeAvailable(googletest)
add_executable(my_tests test_main.cpp)
target_link_libraries(my_tests GTest::gtest_main)Votre premier test
Un test se déclare avec la macro TEST, qui reçoit un nom de suite de tests et un nom de test. À l’intérieur, vous utilisez des assertions.
#include <gtest/gtest.h>
int add(int a, int b) { return a + b; }
TEST(MathTest, AddsPositive) {
EXPECT_EQ(add(2, 3), 5);
}Aucun main() nécessaire
La liaison avec GTest::gtest_main fournit le main() qui exécute tous les tests enregistrés. Vous n’écrivez que les cas de test.
Écrire votre propre main
Si vous avez besoin d’un point d’entrée personnalisé, initialisez GTest vous-même.
#include <gtest/gtest.h>
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}Compiler et exécuter
Après avoir configuré CMake, compilez et exécutez le programme.
cmake -S . -B buildcmake --build build./build/my_tests
GTest affiche un récapitulatif coloré des réussites et des échecs.
Lire la sortie
Chaque test affiche [ RUN ], puis [ OK ] ou [ FAILED ]. La dernière ligne indique le nombre de tests réussis. Les échecs indiquent le fichier, la ligne et les valeurs attendue et réelle.
Exécuter un sous-ensemble
Utilisez l’option --gtest_filter pour exécuter uniquement les tests correspondants, par exemple ./my_tests --gtest_filter=MathTest.*. Cela accélère le débogage ciblé.
Intégrer avec CTest
Appelez enable_testing() et enregistrez le binaire avec gtest_discover_tests afin que ctest puisse exécuter votre suite dans l’intégration continue.
# CMakeLists.txt
enable_testing()
include(GoogleTest)
gtest_discover_tests(my_tests)Un flux de travail sain
Écrivez un test qui échoue, implémentez le code, puis vérifiez qu’il réussit. Gardez les tests rapides et indépendants afin de pouvoir les exécuter à chaque modification.
Vérification rapide
Rappelez-vous comment main() est fourni.
Récapitulatif
Vous avez configuré Google Test.
- Obtenez-le via FetchContent, un paquet ou un sous-module
TEST(Suite, Name)déclare un test- Liez
gtest_mainpour obtenir automatiquement unmain() - Compilez, exécutez, filtrez et intégrez avec CTest
Questions Fréquemment Posées
La leçon « Configurer GTest » est-elle gratuite ?
Oui — le texte complet de « Configurer GTest » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C++ Academy, passe à CoddyKit PRO. Le cours C++ Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Configurer GTest » ?
Ajouter et exécuter le framework Tu pratiques C++ Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C++ Academy ?
Aucune expérience préalable n'est requise. C++ Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Configurer GTest » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C++ Academy ?
Oui. Chaque leçon C++ Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.