Tests unitaires

Effectuez facilement des tests unitaires : CLion s'intègre avec les frameworks Google Test, Catch, Boost.Test et Doctest.

Exécuter des tests

Il existe un moyen par défaut d'exécuter des tests en lançant simplement un exécutable standard dans CLion. Toutefois, pour bénéficier d'un outil d'exécution de tests intégré, utilisez une configuration spéciale Google Test, Catch, Boost.Test ou Doctest.

Exécution de tests

Dans le cas où votre cible CMake est liée à gtest ou gmock, cette configuration sera créée automatiquement. Vous pouvez également exécuter un simple test, fixture ou fichier complet en appuyant sur ⌃⇧R. De plus, vous pouvez créer et mettre à jour manuellement de telles configurations depuis les paramètres Run | Edit Configurations... :

Exécution de tests

Pour restreindre la série de tests en cas de configuration Catch, utilisez des balises et bénéficiez de la saisie automatique des noms de balises :

Configuration Catch

Testeur

Inspecter les résultats

Obtenez le meilleur du développement piloté par les tests grâce à un testeur unitaire simple d'utilisation et intuitif. Sa vue dédiée vous montrera :

  • la barre de progression avec le pourcentage de tests effectués jusqu'à présent,
  • une arborescence de tous les tests en cours d'exécution, y compris les informations sur l'état et la durée des tests,
  • l'ensemble du flux de sortie des tests et plus encore

De plus, le testeur de CLion vous permet :

  • de relancer n'importe quel test, tous les tests ou tous les tests échoués,
  • d'exporter les résultats des tests et de consulter les précédents résultats, enregistrés automatiquement, depuis l'historique,
  • de naviguer jusqu'au code source d'un test précis via Ctrl+↓
Icônes d'exécution et d'état

Icônes d'exécution et d'état

Les icônes dans la gouttière de gauche vous permettent d'exécuter/déboguer des tests ou de les lancer avec Valgrind Memcheck, ainsi que de suivre leur statut : réussite ou échec.

Générer du code

La fonctionnalité de génération de code (Alt+Insérer) peut s'avérer une aide précieuse lors de l'écriture des tests unitaires. Pour Google Test, créez des tests, des fixtures de test ou des méthodes SetUp/TearDown.

Génération de code dans les tests

Dans le cas de la génération de test pour les fixtures, la macro TEST() est automatiquement convertie en TEST_F(), TEST_P(), TYPED_TEST() ou TYPED_TEST_P() appropriée :

Génération de code dans les tests
Prise en charge de CTest

Prise en charge de CTest

CTest, un exécuteur de test de CMake, est désormais pris en charge dans CLion. Ainsi, la liste des tests qui sont exécutés avec CTest est détectée et l'IDE crée automatiquement des configurations Run/Debug pour ces tests. Lorsque les tests sont lancés, les résultats sont présentés dans l'exécuteur de test intégré, à partir duquel vous pouvez notamment déboguer les tests et relancer uniquement les tests ayant échoué.