Tests unitaires en QTestLib - en cours d'exécution simple test / tests en classe tous les tests /

StackOverflow https://stackoverflow.com/questions/2686326

  •  30-09-2019
  •  | 
  •  

Question

Je viens juste de commencer à utiliser QTestLib. Je suis passé par le manuel et tutoriel . Bien que je comprenne comment créer des tests, je suis tout simplement pas obtenir comment faire ces tests pratiques pour exécuter. Mon arrière-plan de test unitaire est NUnit et MSTest. Dans ces environnements, il est trivial (en utilisant une interface graphique, au moins) pour alterner entre l'exécution d'un test unique, ou tous les tests dans une classe de test unique, ou tous les tests dans l'ensemble du projet, en cliquant sur le bouton droit.

Tout ce que je vois dans QTestLib est soit vous utilisez la macro QTEST_MAIN pour exécuter les tests dans une seule classe, puis compiler et tester chaque fichier séparément; ou l'utilisation QTest::qExec() dans main() pour définir les objets à tester, puis modifier manuellement et que recompilation lorsque vous voulez ajouter / supprimer des classes de test.

Je suis sûr que je manque quelque chose. Je voudrais pouvoir facilement:

  • Exécuter une méthode d'essai unique
  • Exécuter les tests dans toute une classe
  • Exécuter tous les tests

Tous ceux appelleraient les fonctions configuration appropriée / teardown.

EDIT: Bounty maintenant disponible. Il doit y avoir une meilleure façon, ou un coureur de test graphique qui le gère pour vous ou quelque chose. Si vous utilisez QtTest dans un environnement piloté par les tests, laissez-moi savoir ce qui fonctionne pour vous. (Scripts, coureurs de test, etc.)

Autres conseils

Les trois caractéristiques demandées par l'OP, sont aujourd'hui intégrés dans la Qt Creator .

Le projet sera analysé automatiquement pour les tests et ils apear dans le volet Test. En bas à gauche dans la capture d'écran:

capture d'écran Qt Creator

Chaque test et des données correspondant peut être activé en cochant la case. Le menu contextuel permet d'exécuter tous les tests, tous les tests d'une classe, seuls les sélectionnés ou un seul test. Comme l'a demandé.

Les résultats des tests seront disponibles à partir du Qt Creator aussi. Un indicateur de couleur indique de réussite / échec pour chaque test, ainsi que des informations supplémentaires comme des messages de débogage.

En combinaison avec Qt Creator, l'utilisation de la macro QTEST_MAIN pour chaque cas de test fonctionne bien, car chaque exécutable compilé est appelé par Qt Creator automatiquement.

Pour un aperçu plus détaillé, consultez le Exécution section de autotests de Manuel Qt Creator.

scroll top