GoogleTest suit désormais la philosophie Abseil Live at Head. Nous vous recommandons de mettre à jour le plus souvent possible vers le dernier commit de la branche main
. Nous publions des versions sémantiques occasionnelles, étiquetées avec v${major}.${minor}.${patch}
(par exemple v1.15.2
).
Notre documentation est désormais disponible sur les pages GitHub à l'adresse https://google.github.io/googletest/. Nous vous recommandons de parcourir la documentation sur les pages GitHub plutôt que directement dans le référentiel.
La version 1.15.2 est maintenant disponible.
La branche 1.15.x nécessite au moins C++14.
Nous utilisons les systèmes internes de Google pour une intégration continue.
Nous envisageons de prendre une dépendance en Rappel.
Ce référentiel est une fusion des projets GoogleTest et GoogleMock auparavant séparés. Ces éléments étaient si étroitement liés qu’il est logique de les maintenir et de les publier ensemble.
Consultez le guide de l'utilisateur GoogleTest pour obtenir de la documentation. Nous vous recommandons de commencer par le GoogleTest Primer.
Plus d'informations sur la création de GoogleTest peuvent être trouvées sur googletest/README.md.
Cadre de test xUnit :
Googletest est basé sur le framework de test xUnit, une architecture populaire pour les tests unitaires
Découverte des tests :
Googletest découvre et exécute automatiquement vos tests, éliminant ainsi le besoin d'enregistrer manuellement vos tests
Riche ensemble d’affirmations :
Googletest fournit une variété d'assertions, telles que l'égalité, l'inégalité, les exceptions, etc., facilitant le test de votre code
Assertions définies par l'utilisateur :
Vous pouvez définir vos propres assertions avec Googletest, ce qui simplifie l'écriture de tests spécifiques à votre code
Tests de mort :
Googletest prend en charge les tests de mort, qui vérifient que votre code se termine d'une certaine manière, ce qui le rend utile pour tester le code de gestion des erreurs.
Pannes fatales et non fatales :
Vous pouvez spécifier si un échec de test doit être traité comme fatal ou non fatal avec Googletest, permettant ainsi aux tests de continuer à s'exécuter même en cas d'échec.
Tests paramétrés en valeur :
Googletest prend en charge les tests paramétrés par valeur, qui s'exécutent plusieurs fois avec différentes valeurs d'entrée, ce qui le rend utile pour tester des fonctions qui acceptent différentes entrées.
Tests paramétrés par type :
Googletest prend également en charge les tests paramétrés par type, qui s'exécutent avec différents types de données, ce qui le rend utile pour tester des fonctions fonctionnant avec différents types de données.
Diverses options pour exécuter des tests :
Googletest propose de nombreuses options pour exécuter des tests, notamment l'exécution de tests individuels, l'exécution de tests dans un ordre spécifique et l'exécution de tests en parallèle.
GoogleTest suit la politique de support C++ fondamentale de Google. Consultez ce tableau pour obtenir une liste des versions actuellement prises en charge des compilateurs, des plates-formes et des outils de génération.
En plus de nombreux projets internes chez Google, GoogleTest est également utilisé par les projets notables suivants :
Les projets Chromium (derrière le navigateur Chrome et Chrome OS).
Le compilateur LLVM.
Protocol Buffers, le format d'échange de données de Google.
La bibliothèque de vision par ordinateur OpenCV.
GTest Runner est un programme d'exécution de tests automatisé basé sur Qt5 et une interface utilisateur graphique dotée de fonctionnalités puissantes pour les plates-formes Windows et Linux.
GoogleTest UI est un exécuteur de tests qui exécute votre binaire de test, vous permet de suivre sa progression via une barre de progression et affiche une liste des échecs des tests. Cliquer sur l'un d'entre eux affiche le texte d'échec. L'interface utilisateur de GoogleTest est écrite en C#.
GTest TAP Listener est un écouteur d'événements pour GoogleTest qui implémente le protocole TAP pour la sortie des résultats de test. Si votre exécuteur de test comprend TAP, cela pourrait vous être utile.
gtest-parallel est un exécuteur de tests qui exécute des tests à partir de votre binaire en parallèle pour fournir une accélération significative.
GoogleTest Adapter est une extension VS Code permettant d'afficher GoogleTest dans une arborescence et d'exécuter/déboguer vos tests.
C++ TestMate est une extension VS Code permettant d'afficher GoogleTest dans une arborescence et d'exécuter/déboguer vos tests.
Cornichon est un petit analyseur DSL Gherkin qui génère du code stub pour GoogleTest.
Veuillez lire CONTRIBUTING.md
pour plus de détails sur la façon de contribuer à ce projet.
Bons tests !