Maison > Article > développement back-end > Comment utiliser les tests unitaires de fonctions C++ avec intégration continue (CI) ?
Réponse : L'utilisation de l'intégration continue (CI) combinée aux tests unitaires de fonctions C++ peut automatiser les tests de code et garantir la qualité et la fiabilité du code. Installer CMake et le framework de tests unitaires : Google Test : sudo apt install libgtest-devCatch2 : sudo apt install libcatch2-dev Écrire des tests unitaires : écrire des tests de code à l'aide d'un framework de tests unitaires tel que Google Test Configurer CMake : ajouter des tests unitaires dans CMakeLists.txt en cours d'exécution tests en CI : configurez un système CI (tel que Jenkins) pour exécuter des tests à chaque push
Introduction
L'intégration continue (CI) est une pratique DevOps qui aide les développeurs à créer, tester et déployer automatiquement leur code. CI peut être combiné avec des tests unitaires fonctionnels pour garantir la qualité et la fiabilité du code.
Installer CMake et son framework de tests unitaires
La première étape consiste à installer CMake et son framework de tests unitaires, comme Google Test ou Catch2. Pour Google Test :
sudo apt install libgtest-dev # Debian/Ubuntu sudo yum install -y google-test # CentOS/Red Hat
Pour Catch2 :
sudo apt install libcatch2-dev # Debian/Ubuntu sudo yum install -y catch2-devel # CentOS/Red Hat
Écriture de tests unitaires
Ensuite, écrivez les tests unitaires correspondants pour tester la fonction C++. Par exemple, voici un exemple de test utilisant le framework Google Test :
#include <gtest/gtest.h> TEST(ExampleTest, AddNumbers) { EXPECT_EQ(addNumbers(1, 2), 3); EXPECT_EQ(addNumbers(3, 4), 7); }
Configurez CMake pour inclure les tests unitaires
Ajoutez des tests unitaires à CMake afin qu'ils soient inclus dans les builds CI. Voici un exemple de configuration de CMakeLists.txt :
add_executable(example example.cpp) target_link_libraries(example GTest::GTest GTest::Main)
Exécuter des tests dans CI
Configurez un système CI (tel que Jenkins ou Travis CI) pour exécuter des tests unitaires C++ à chaque poussée. Par exemple, dans Jenkins, une configuration de travail peut être créée à l'aide du script shell suivant :
cmake -B build cmake --build build ctest -C build
Cas pratique
Dans un projet C++, les tests unitaires permettent de tester une fonction qui calcule les différences de dates. La fonction présentait initialement un bug qui était automatiquement détecté par le système CI à chaque fois que le code était poussé. Cela permet de détecter et de corriger les bogues avant qu’ils ne soient mis en production.
Conclusion
En combinant les tests unitaires de fonctions C++ avec CI, les développeurs peuvent automatiser les tests de code et garantir la qualité du code. Il aide les équipes à détecter et à corriger rapidement les erreurs, améliorant ainsi la fiabilité et la stabilité des logiciels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!