国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table des matières
Installer Google Test
écrivez le premier cas de test
Comment organiser plusieurs fichiers de test
FAQ et conseils de débogage
Maison développement back-end C++ C Tutoriel de test Google (GTEST) pour les débutants

C Tutoriel de test Google (GTEST) pour les débutants

Jul 16, 2025 am 12:58 AM
c++

Google Test est un cadre de test unitaire couramment utilisé dans C. La méthode d'installation varie d'un système à l'autre: Ubuntu est installé avec APT et compilé manuellement, MacOS est installé avec Homebrew, Windows ou les utilisateurs qui ont besoin de code source peuvent le télécharger via GitHub et le construire avec CMake; Lors de la rédaction de cas de test, utilisez des macros de test pour définir des suites de test et des cas d'utilisation, et utilisez attendre_eq, attendre_ne et autres assertions pour vérifier les résultats. Lors de la compilation, link -lgtest -lgtest_main -lpthread; Une fois le projet élargi, des fichiers de test indépendants peuvent être créés pour chaque module et tous les tests peuvent être exécutés de manière unifiée en exécutant tous les tests du programme principal; Les problèmes courants incluent les erreurs dans le chemin du fichier d'en-tête, les liens défaillants ou les tests échoués, qui peuvent être résolus en vérifiant les dépendances, en ajoutant des paramètres de débogage ou en développant l'habitude d'écrire des tests d'abord, puis du développement.

C Tutoriel de test Google (GTEST) pour les débutants

Si vous commencez tout juste à vous impliquer dans les tests C, Google Test (GTEST) est un cadre de test unitaire très pratique. Il est simple et facile à utiliser et les fonctionnalités sont suffisantes pour répondre aux besoins de la plupart des projets. Ensuite, je vous ferai étape par étape pour comprendre comment commencer avec GTest.

C Tutoriel de test Google (GTEST) pour les débutants

Installer Google Test

Avant de commencer à rédiger des tests, vous devez d'abord faire entrer dans votre environnement de développement. Différents systèmes ont des méthodes d'installation différentes:

C Tutoriel de test Google (GTEST) pour les débutants
  • Linux (Ubuntu comme exemple) : Vous pouvez l'installer directement avec apt :

     sudo apt-get install libgtest-dev

    Après l'installation, vous devrez peut-être le compiler manuellement, entrez le répertoire /usr/src/gtest et exécuter cmake . && make .

    C Tutoriel de test Google (GTEST) pour les débutants
  • macOS (homebrew) :

     Brew Installer Googlest
  • Windows ou souhaitez construire à partir du code source : vous pouvez télécharger le code source dans GitHub , puis le construire avec CMake.

Une fois l'installation terminée, n'oubliez pas de lier -lgtest -lgtest_main -lpthread au moment de la compilation, sinon une erreur sera signalée.


écrivez le premier cas de test

Supposons que vous ayez une fonction simple à tester, comme une fonction d'addition:

 int add (int a, int b) {
    retour AB;
}

Vous pouvez écrire un cas de test comme ceci:

 #include <gtest / gtest.h>

Test (addTest, BasicAssertions) {
    Attendre_eq (add (2, 3), 5);
    Attendre_ne (add (0, 0), 1);
}

Voici quelques points clés auxquels faire attention:

  • TEST(TestCaseName, TestName) est le moyen de définir les cas de test.
  • EXPECT_EQ(a, b) signifie affirmer que les deux valeurs sont égales; S'il échoue, le test ne sera pas interrompu et l'exécution se poursuivra.
  • Si vous souhaitez que le test échoue, arrêtez immédiatement, utilisez ASSERT_EQ .

Après avoir écrit, la commande de compilation est à peu près comme ceci:

 g test.cpp -lgtest -lgtest_main -lpthread -o test

Exécutez ./test pour voir les résultats du test.


Comment organiser plusieurs fichiers de test

à mesure que le projet s'agrandit, vous pouvez avoir plusieurs fichiers de test. à l'heure actuelle, il est recommandé de créer un fichier de test séparé pour chaque module ou classe, tel que calculator_test.cpp , string_utils_test.cpp , etc.

Pour une gestion facile, un programme principal peut être créé pour exécuter tous les tests:

 #include <gtest / gtest.h>

int main (int argc, char * argv []) {
    :: Testing :: initgooglest (& argc, argv);
    return run_all_tests ();
}

De cette fa?on, il vous suffit de compiler tous les fichiers de test et d'ajouter ce fichier principal pour terminer tous les tests à la fois.


FAQ et conseils de débogage

Pendant le test d'écriture, vous rencontrez souvent des problèmes mineurs, tels que:

  • Le fichier d'en-tête GTest ne peut être trouvé : confirmez s'il est installé correctement et vérifiez si le chemin d'inclusion est défini.
  • Temps de compilation Référence non définie : indique que la bibliothèque GTest n'est pas correctement liée, assurez-vous que -lgtest et -lgtest_main sont ajoutés.
  • Le test échoue, mais je ne sais pas où quelque chose a mal tourné : utilisez les informations de sortie fournies par les macros telles que EXPECT_EQ et EXPECT_TRUE pour vous aider à localiser rapidement les problèmes.
  • Je veux voir une sortie plus détaillée : Ajouter --gtest_verbose=1 paramètre lors de l'exécution du test, et vous pouvez voir le processus détaillé de chaque test.

De plus, il est recommandé de développer l'habitude de "écrire des tests avant d'écrire du code", ce qui est très utile pour améliorer la qualité du code.


Fondamentalement, c'est tout. L'utilisation de base de GTEST n'est pas compliquée, mais il est facile d'ignorer les détails, tels que la liaison de la bibliothèque ou l'initialisation du code. Tant que vous comprenez ces choses, le reste est d'écrire la logique de test dans le format.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Exemple de fonction C Exemple de fonction C Jul 27, 2025 am 01:21 AM

Les fonctions sont l'unité de base de l'organisation du code en C, utilisé pour réaliser la réutilisation et la modulation du code; 1. Les fonctions sont créées par des déclarations et des définitions, telles que INTADD (INTA, INTB) renvoie la somme des deux nombres; 2. Passez les paramètres lors de l'appel de la fonction et renvoyez le résultat du type correspondant après l'exécution de la fonction; 3. La fonction sans rendement de fonction utilise vide comme type de retour, tel que voidgreet (StringName) pour la sortie des informations de salutation; 4. L'utilisation des fonctions peut améliorer la lisibilité du code, éviter la duplication et faciliter la maintenance, qui est le concept de base de la programmation C.

C. C. Jul 27, 2025 am 01:32 AM

DecType est un mot-clé utilisé par C 11 pour déduire les types d'expression au moment de la compilation. Les résultats de la dérivation sont précis et n'effectuent pas de conversion de type. 1. Dectype (Expression) n'analyse que les types et ne calcule pas les expressions; 2. Déduire le nom de variable Dectype (x) en tant que type de déclaration, tandis que Decltype ((x)) est déduit comme x en raison de l'expression de Lvalue; 3. Il est souvent utilisé dans les modèles pour déduire la valeur de retour via le type de retour de queue 4. Les déclarations de type complexe peuvent être simplifiées en combinaison avec Auto, telles que Dectype (Vec.Begin ()) IT = Vec.Begin (); 5. évitez les classes codées durs dans les modèles

C Exemple d'expressions de pli C Exemple d'expressions de pli Jul 28, 2025 am 02:37 AM

C FoldeRexpressions est une caractéristique introduite par C 17 pour simplifier les opérations récursives dans les modèles de paramètres variadiques. 1. Le pli gauche (args ...) Sum de gauche à droite, comme la somme (1,2,3,4,5) renvoie 15; 2. Logical et (args && ...) déterminez si tous les paramètres sont vrais, et les paquets vides renvoient vrai; 3. Utiliser (std :: cout

C Range basé sur le tutoriel en boucle C Range basé sur le tutoriel en boucle Jul 27, 2025 am 12:49 AM

La boucle de plage basée sur C de C améliore la lisibilité du code et réduit les erreurs en simplifiant la syntaxe. Sa structure de base concerne (Déclaration: gamme), qui convient aux tableaux et aux conteneurs STL, tels que la traversée Intarr [] ou STD :: Vectorvec. L'utilisation de références (telles que conststd :: string & name) peut éviter de copier les frais généraux et peut modifier le contenu de l'élément. Les notes incluent: 1. Ne modifiez pas la structure du conteneur dans la boucle; 2. Assurez-vous que la plage est efficace et évitez l'utilisation de la mémoire libérée; 3. Il n'y a pas d'index intégré et nécessite une maintenance manuelle du comptoir. La ma?trise de ces points clés vous permet d'utiliser cette fonctionnalité efficacement et en toute sécurité.

C Exemple de l'arborescence de recherche binaire C Exemple de l'arborescence de recherche binaire Jul 28, 2025 am 02:26 AM

AbinarySearchtree (BST) IsabinaryTreewhereTheleftsUbtreContainainslyNodeswithvalueslesshanthenode’svalue, TheRightSubTreConontainsonlyNodeswithvaluesGreaterthantheNode’svalue, andbothsubtreeSustalsobeBsts; 1. implémentation de la thèsecluserenereenstructurestructrescobebe;

C Appelez Python Script à partir de C. C Appelez Python Script à partir de C. Jul 26, 2025 am 07:00 AM

L'appel des scripts Python en C nécessite l'implémentation via PythonCapi. Tout d'abord, initialisez l'interpréteur, puis importez le module et appelez la fonction, et enfin nettoyez les ressources; Les étapes spécifiques sont: 1. Initialisez l'interpréteur Python avec py_initialize (); 2. Chargez le module de script Python avec pyimport_import (); 3. Obtenez la fonction objectif via pyObject_getAtTrString (); 4. Utilisez pyObject_CallObject () pour passer des paramètres pour appeler la fonction; 5. Appelez py_decref () et py_finalize () pour libérer la ressource et fermer l'interprète; Dans l'exemple, bonjour est appelé avec succès

C Exemple de référence C Exemple de référence Jul 28, 2025 am 02:23 AM

Les références sont alias pour les variables, qui doivent être initialisées à la déclaration et ne peuvent pas être référentes. 1. Les références partagent la même adresse de mémoire via Alias. La modification de tout nom affectera la valeur d'origine; 2. Les références peuvent être utilisées pour réaliser une transmission bidirectionnelle et éviter les frais généraux de copie; 3. Les références ne peuvent pas être vides et avoir la grammaire, et n'ont pas la capacité de se rapporter par rapport aux pointeurs; 4. Constt & peut être utilisé pour transmettre en toute sécurité les paramètres, empêcher la modification et la liaison de support d'objets temporaires; 5. Les références des variables locales ne doivent pas être renvoyées pour éviter les erreurs de référence suspendues. La ma?trise des citations est le principal fondement de la compréhension du C. moderne C.

Exemple C fstream Exemple C fstream Jul 28, 2025 am 01:20 AM

Tout d'abord, clarifions la réponse: cet article présente l'utilisation de FStream en C, y compris les opérations de lecture et d'écriture de fichiers de base et les fonctions de lecture et d'écriture bidirectionnelles avancées. 1. Utilisez STD :: FStream pour définir l'objet de flux de fichiers et ouvrez le fichier dans un mode spécifié (comme std :: ios :: out, std :: ios :: in); Utilisez-le lors de l'écriture

See all articles