Partage
  • Partager sur Facebook
  • Partager sur Twitter

Unit tests

    9 novembre 2017 à 22:45:21

    Bonsoir à tous, je vous écrit puisque je doit faire des test unitaires dans un de mes projets. Cependant j'utilise la librairie SFML dans mes classes et je ne sais pas comment faire pour l'intégrer à mon projet de test. Quelqu'un pourrait-il m'aider? 
    • Partager sur Facebook
    • Partager sur Twitter
      10 novembre 2017 à 1:26:18

      Salut,

      De manière générale, tu devrais veiller à séparer clairement tes données métiers de tes informations "d'affichage" (dans le sens le plus vaste possible qu'il est possible de trouver), et donc respecter au maximum l'idiome connu sous le nom de MVC (pour Model, Vieuw, Controler).

      De cette manière, tu pourrais faire tes tests unitaires uniquement sur ce qui importe, à savoir ton modèle (tes données métier), car ce que tu cherches avant tout, c'est de t'assurer que les notions (dans le sens général) que tu as mises au points réagiront toujours de la manière dont elle sont sensées le faire.

      Tu dois partir du principe que SFML (de même que Qt ou que n'importe quelle autre bibliothèque permettant de créer une IHM et ou d'introduire des fonctionnalités tierces) travaille correctement, et que, s'il y a un problème avec cette bibliothèque, tu ne pourras de toutes façons pas faire grand chose pour y remédier (à part, bien sur, envoyer un rapport de bug).

      De même, si tu étend les possibilités de la SFML (en créant des classes qui dérivent de celles que l'on trouve dans l'espace de noms sf), tu ne pourras constater qu'elles s'affichent correctement, à l'endroit voulu et dans les circonstances requises que... en exécutant ton application.

      Si bien que l'on n'entre absolument pas dans une logique de tests unitaire, mais plutôt dans une logique de "tiens, l'affichage ne correspond pas à ce que je voulais".

      Comme je l'ai dit, les tests unitaires, c'est sur la partie métier, sur la partie pour laquelle tu es seul responsable du bon fonctionnement de tes données.

      Alors, à la question de savoir "comment s'y prendre", malheureusement, il n'y a pas de formule toute faite, car tout dépendra des objectifs visés par ta partie métier.

      Mais une chose est claire: tu dois impérativement veiller à respecter au mieux le SRP, car il est beaucoup plus facile de tester si une fonction fait bien ce qu'elle est sensée faire si tu n'as qu'un ou deux chemins d'exécution possible plutôt que si tu en as dix ou vingt ;)

      Commences donc par tester les fonctions les plus simples possibles, pour être sur qu'elles réagissent comme il se doit.  Et après seulement, teste les fonctions plus complexes qui font appel à plusieurs de ces fonctions "simples", pour t'assurer qu'elles réagissent elles aussi comme il se doit ;)

      Et continue comme cela, en testant les fonctionnalités de plus en plus complexes, jusqu'à ce que tu ai couvert la totalité de ton code ;)

      • Partager sur Facebook
      • Partager sur Twitter
      Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
        10 novembre 2017 à 11:21:02

        Je suis d'accord avec tout ce que dit @koala01.

        Mais si tu insistes, un projet de test, c'est comme un projet standard, faut configurer les répertoires de recherche des en-tête, des librairies, donner la liste des librairies utilisées ect... dans les propriétés du projet.

        Bonne chasse aux bugs.

        • Partager sur Facebook
        • Partager sur Twitter
        Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
          19 novembre 2017 à 0:31:59

          bacelar a écrit:

          Je suis d'accord avec tout ce que dit @koala01.

          Mais si tu insistes, un projet de test, c'est comme un projet standard, faut configurer les répertoires de recherche des en-tête, des librairies, donner la liste des librairies utilisées ect... dans les propriétés du projet.

          Bonne chasse aux bugs.


          C'était ça le problème! Mon projet de test était mal configuré, même si je n'était pas sensé avoir des éléments de sfml dans mon Modèle/Contrôleur!
          • Partager sur Facebook
          • Partager sur Twitter

          Unit tests

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown