0Pricing
C++ Academy · Leçon

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 build
  • cmake --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_main pour obtenir automatiquement un main()
  • 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.

Toutes les leçons de ce cours

  1. Configurer GTest
  2. Assertions et correspondants
  3. Fixtures et configuration
  4. Simulations avec GMock
← Retour à C++ Academy