Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Bêta ON] jUnit - Les tests unitaires en Java

Dans la catégorie "Java" par Techniv

    22 juillet 2011 à 20:56:41

    Lire le tutoriel
    Tuto ouvert aux bêta-tests
    Réservé aux membres

    • Partager sur Facebook
    • Partager sur Twitter
      22 juillet 2011 à 20:56:42

      Catégorie Titre Auteur Avancement
      Big-tuto
      Java
      (22/07/11)
      jUnit - Les tests unitaires en Java Techniv 55%


      Bonjour à tous.

      Je me suis lancé dans la rédaction d'un cours sur les tests unitaires en Java via le framework jUnit.
      Ce cours a pour objectifs de montrer l'utilité des tests unitaires et d'expliquer comment les mettre en oeuvre.

      Ce cours nécessite d'avoir de solides bases en Java.
      La lecture du tuto de Cysboy est fortement conseillée pour les débutants en Java (les 2 premières parties).


      Pour le moment 4 parties sont prévues :
      Terminée, en cours de rédaction, pas encore commencée
      • La première présente la problématique, l’environnement (Netbeans) qui n'est pas très représenté sur le Site du Zéro, ainsi qu'un mini projet (2 classes + 1 MainClass) qui servira de support.
      • La deuxième partie présente jUnit, comment l'obtenir, le configurer, l'utiliser et tester une classe avec.
      • La troisième partie traite de l'API de jUnit. Les différentes méthodes mises à disposition pour tester les classes de manière optimale.
      • La quatrième partie parle de l'utilisation avancée de jUnit, avec au programme la dérivation de l'API et la réflexion de classes.


      A l'heure actuelle le tuto est assez avancé pour pouvoir vous apprendre à tester à peu près n'importe quoi. Ce qui reste à rédiger constitue un approfondissement fort utile, mais non indispensable à l'utilisation de jUnit.

      Donc n’hésitez pas à commencer la lecture et à me faire vos remarques.


      Je viens juste de me pencher sur les QCM. Si vous avez des idées de questions, je suis preneur. ^^

      Je vous souhaite une bonne lecture et à très vite pour vos retours.

      Merci à vous,
      Cordialement,

      Techniv



      PS : Je tiendrai ce post à jour au cours des avancements de la rédaction.
      • Partager sur Facebook
      • Partager sur Twitter
        2 août 2011 à 0:40:45

        Bon je vois que ça passionne pas les foules. ^^

        Je vais ralentir l'écriture pendant les prochaine semaine. J'ai 2 gros projet qui me sont tombé dessus, dont un ou je risque d'être en déplacement.

        Mais à l'heure actuelle le tuto contien déjà toute les bases. Alors n'hésitez pas.

        Et je reste à l’affût de toutes remarques bien sûr.

        ;)
        • Partager sur Facebook
        • Partager sur Twitter
          2 août 2011 à 19:23:06

          Personnellement j'ai dû utiliser ces tests pour mon projet (MasterMind), j'ai hâte de voir ce que tu pourras m'apprendre de plus :)
          • Partager sur Facebook
          • Partager sur Twitter
            2 août 2011 à 19:42:11

            Et bien pour le moment les base.
            Mais bon par la suite ça ira plus loin.

            Si tu les à déjà utilisé n'hésite pas à faire des comparatif avec ton expérience. Ca peut donner des idée d'ouverture.
            ;)
            • Partager sur Facebook
            • Partager sur Twitter
              4 août 2011 à 6:06:06

              Ne te laisse pas décourager par l'absence de retours, l'espace du forum dédié aux beta-test est encore un foutoir et on n'est pas encore au point dans sa gestion. Du coup, très très peu de membres y viennent, et quand ils viennent ils ne trouvent pas forcément les sujets intéressants.

              Cet aparté étant faite, revenons à ton tuto : très bonne initiative ! Il reste du travail, et une petite réorganisation du contenu serait peut-être judicieuse par endroits (certains chapitres sont très courts), mais ça reste un bon début.

              Les tests unitaires sont bien souvent méconnus et négligés par les développeurs en entreprise.
              Pourtant les outils existants, notamment via l'analyse de couverture, sont de très bons indicateurs (à condition que les tests aient été bien écrits, cela va de soit).

              Bon courage pour la suite !
              • Partager sur Facebook
              • Partager sur Twitter
                4 août 2011 à 12:42:40

                Je te remercie.

                C'est vrai que le développement sans test unitaire après y avoir touché est bien fade. J'ai beaucoup de mal à m'en passer en PHP. Je sais que ça existe, mais c'est galère à utiliser.
                J'avais idée de parlé de l’intérêt que ça a avec les nouvelle méthode d'usinerie logiciel, mais j'ai peur que ça fasse trop. Du coup je me suis dit que peut être un deuxième big-T sur ces techniques pourrai être fait (Maven, Intégration continue, qualimétrie) avec un parallèle vers jUnit.

                Je suis d'accord que certain chapitre sont très cours. Mais c'est aussi un choix en fait.
                Je souhaitais séparer clairement les problématiques, de manière à bien trancher et aussi gardé une facilité d’extension pour les future éventuelles mise à jours.
                En sommes une organisation ce calquant sur les bonnes pratiques de la POO.
                Déformation professionnelle. ^^

                Mais si tu penses que pour le lecteur moyen cela peut poser problème, je suis ouvert au suggestion de ré-agencement.
                Ou alors peut être fraudais il prévenir que le cours est structuré comme ça ???

                Je ne me laisse pas découragé. Je sais que les seul squatteur de cette section sont les auteur de tuto.
                Mais j'ai réellement 2 gros projet. Je suis en train de développer une distribution modifier de phpBB sous licence GPL3 et je viens de signer un nouveau contrat d'embauche avec un petit voyage à Paris pour au moins une semaine à partir de lundi.

                Donc je m’ennuie pas... ^^

                Je n'aime pas trop laisser les chose en plan, mais le fait de savoir que le chapitre sur l'assertion est fini me soulage. Presque tout est dis pour l'utilisation classique de jUnit. La suite touche à des technique pls avancé (Assume, TestSuite, test avec Réflexion de classe, Matcher personnalisé, ...).
                • Partager sur Facebook
                • Partager sur Twitter
                  4 août 2011 à 23:53:21

                  Bonjour,
                  je n’ai pas encore lu ton tutoriel, mais sache qu’il m’intéresse grandement.

                  Je voudrais savoir si certains points seront abordés (désolé si c’est déjà le cas, j’ai parcouru très rapidement le tutoriel sans les voir) :
                  • Vas-tu parler (as-tu parlé) du principe des mocks ?
                  • Vas-tu parler (as-tu parlé) des méthodes de développement/gestion de projet tels le Test Driven Development ou l’Extreme programming (à moins que ça ne fasse l’objet d’un autre big tuto…) ?

                  Je vais bientôt lire ton tutoriel pour pouvoir te faire des commentaires plus constructifs.
                  Bonne continuation.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 août 2011 à 1:29:05

                    Salut.

                    Pour ce qui est des mocks oui je pensai en parlé. Peut être pas dans le détail mais dans les grande ligne. Je pensais notamment prendre pour exemple une classe utilisant une DAO. Avec un mock de l’implémentation faisant des sortie console.
                    Ça sera dans la 4ème partie. Avec les test par réflexion et ce genre d'autre technique un peut "avancé".

                    Pour ce qui est du 2ème point, non absolument pas.
                    Ce sont des concept de gestion de projet. Il ne sont d'ailleurs pas réservé à Java. Et je ne pence pas avoir les compétence suffisante pour en parler. Par contre pourquoi pas en faire une ouverture dessus en conclusion générale.

                    Par contre si quelqu'un ce lance la dedans, ce qui peut être très intéressant il pourra surement s'appuyer sur ce cours pour l'aspect technique. Du moins j'espère qu'il estimera pouvoir le faire. ^^
                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 août 2011 à 19:12:03

                      Bonjour,
                      après la lecture de ce tutoriel, voici quelques commentaires :
                      • Il y a plusieurs erreurs d’orthographe à corriger ;
                      • Est-ce que les noms initTest(), endTest(), initClass() et endClass() sont standards ? J’ai souvent vu les noms suivants : setUpClass(), tearDownClass(), setUp(), tearDown() ;
                      • Dans le chapitre « Outils d'assertion : Assert.class », tu répètes deux fois ceci :

                        Citation : Techniv

                        La classe Assert comprend un certain nombre de méthodes afin de s'adapter à différentes situations. Nous allons les aborder ensemble. Afin de rester un minimum rigoureux, nous allons créer une nouvelle classe de test dans le package zerounit.
                        Je l'ai appelée AssertTest.


                      J’attends la suite avec impatience.
                      Bonne continuation.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 août 2011 à 1:02:35

                        Pour les faute d'orthographe je ne suis pas étonné. Je suis dyslexique alors c'est assez laborieux, je ferai le gros ménage pour la validation.

                        Les noms de méthodes ne sont pas standard. Il sont par contre plus parlant à mon avis. Et avec l'utilisation des annotation cela a il vraiment une importance ?

                        Pour la répétition je vais voir ça. En effet c'est un peut con...

                        Merci pour tes remarques.
                        ^^
                        • Partager sur Facebook
                        • Partager sur Twitter
                          30 août 2011 à 16:16:39

                          Salut :D


                          Pas encore lu, mais ce tuto me semble vraiment intéressant... et important :-°

                          Alors bon courage pour la suite
                          • Partager sur Facebook
                          • Partager sur Twitter
                            30 août 2011 à 18:40:57

                            Merci pour tes encouragement.

                            Pour les nouvelles :
                            Je suis sur un projet qui m'as amener aller plus loin dans jUnit. J'ai put trouvez de nouvelle techniques qui pourrons enrichir la partie sur l'utilisation avancé.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              31 août 2011 à 3:17:07

                              Très bien. De toute façon même incomplet, un tuto sur le sujet a sa place.
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                31 août 2011 à 9:22:25

                                Tres bon tuto, juste une petite remarque, c'est un avis perso mais dans le cadre des exceptions ce ne serait pas plus pertinent d'utiliser un fail() plutot que relancer une exception afin de bien separer le contexte de test(avec des Assert.fail()) et celui du runtime (avec des levee d'exception)?:

                                try{
                                    ZeroService service = new ZeroService(out, "Les Zéros");
                                    Assert.fail("Waited Exception not thrown.");
                                } catch(ZeroException ex){ 
                                    //ok
                                }
                                


                                PS: desole, pas d'accents, je suis sur un clavier "exotique"
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  1 septembre 2011 à 16:17:15

                                  Je commence à lire ton tuto, j'ai besoin de faire des test unitaires en Java pour tester des requêtes select, insert, update, delete.

                                  Sur le net, il y a des sites qui parlent de ça, mais cela reste assez flou et les exemples sont très simples.

                                  J'espère que ton tuto se démarquera car cela serait une très bonne référence !

                                  Bon courage à toi.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    1 septembre 2011 à 19:55:38

                                    Merci Shakhal.
                                    Le fait que tu le trouves très bon alors qu'il n'est même pas fini est très encourageant.
                                    Je suis d'accord qu'un fail serai plus approprié. Mais l'API d'assertion n'est abordée que dans le chapitre suivant. Je voulais rester sur des chose connues.

                                    Mais pourquoi pas revenir dessus en parlant du fail un peut plus loin...
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      16 septembre 2011 à 23:04:53

                                      Je ne connais pas grand chose en teste unitaire (je commençais à m'y mettre) donc je ne pourrais pas te conseiller.

                                      Je peux juste te complimenter sur quelques points:
                                      Ton tutoriel est clair et ludique! J'avais peur que ça soit un peu confus mais non, pas du tout!

                                      PS: Si jamais tu as besoin d'un nettoyage massif des fautes d'orthographes, n'hésite pas à me contacter. Je suis plutôt bon en orthographe (j'ai eu tous les points à la dictée au brevet).
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        13 janvier 2012 à 15:54:55

                                        Bonjour,

                                        Je ne sais pas si ce sujet est encore actif, mais j'essaie de me former avec ce cours qui me semble très intéressant et bien expliqué.

                                        Cependant lors de l'explication pour 'Configurer le classpath de test', il n'y pas grand chose pour expliquer comment faire avec Eclipse. Et vu que je ne connais pas bien encore ce logiciel, serait-il possible d'expliquer un peu plus la manœuvre à faire sous Eclipse ou mettre un lien qui pourrait l'expliquer, s'il vous plaît ?

                                        En vous remerciant.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Anonyme
                                          13 janvier 2012 à 21:02:37

                                          Citation : _lou87

                                          Bonjour,

                                          Je ne sais pas si ce sujet est encore actif, mais j'essaie de me former avec ce cours qui me semble très intéressant et bien expliqué.

                                          Cependant lors de l'explication pour 'Configurer le classpath de test', il n'y pas grand chose pour expliquer comment faire avec Eclipse. Et vu que je ne connais pas bien encore ce logiciel, serait-il possible d'expliquer un peu plus la manœuvre à faire sous Eclipse ou mettre un lien qui pourrait l'expliquer, s'il vous plaît ?

                                          En vous remerciant.



                                          eclipse a par défaut un plugin junit, suffit de cliquer droit sur ton projet, new junit test case et c'est parti.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            17 janvier 2012 à 13:13:03

                                            Salut,

                                            La partie de configuration du classpath est lier au bonne pratique de développement qui consiste à clairement séparer les test unitaire des sources de l'application.
                                            Mais fondamentalement les test jUnit peuvent de n'importe où.

                                            Ça pourra être bien de mieux le préciser.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              2 avril 2012 à 17:07:31

                                              Surtout ne t'arrête pas. Les unitaires sont cruciaux pour tout développeur qui se respecte. En plus cela ne peut qu'aider en Java puisque les performances sont très recherchées et la détection de fuites est vitale !!! Je viens seulement de découvrir ton tuto est j'en suis ravi. :D
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                27 octobre 2012 à 18:56:14

                                                Bonsoir,
                                                Très bon tuto pour présenter les bases de ce framework qui est vraiment très pratique. Je trouve ça vraiment positif de montrer aux gens la partie "Tests" du métier de programmeur, qui est bien souvent boudée par ceux-ci, ça montre une ouverture d'esprit sur des aspects puissants de la programmation.

                                                Cependant, n'hésite pas à poster quelques détails, ne serait-ce que des portions de code pour les parties traitant des assertions, je pense que ça pourrait en aider plus d'un !
                                                J'attends la partie utilisation avancée avec impatience !
                                                Courage à toi !

                                                PS: Si jamais tu voulais te lancer dans un big tuto sur Maven/Intégration continue, je serais également intéréssé d'en savoir plus !
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  15 novembre 2012 à 2:49:57

                                                  Merci Sonik.

                                                  J'ai assez peut de temps à consacrer à jUnit en ce moment. Je n'abandonne pas, mais je suis en stand-by.
                                                  J'avais eu une proposition de co-authoring par Toupi, mais pas de suite... :euh:

                                                  En effet malawy, vaste sujet, très intéressant.
                                                  Mais je ne m'y attaquerai pas dans un cours. Du moins pas avant d'avoir fini jUnit et Node.JS :p
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    1 mars 2013 à 10:04:31

                                                    Bonjour,

                                                    j'aimerai me plonger plus en profondeur sur les tests unitaires et j'ai vu que ton tuto était en cours d'écriture, cependant je n'arrive pas à lire les parties déjà terminés (j'ai une 404 sur le lien "Lire le tutoriel", et le lien "jUnit - Les tests unitaires en Java" m'envoi à la page de recherche des tuto)

                                                    c'est peut être lié au nouveau site, je veux bien des infos :)

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      8 janvier 2015 à 10:13:26

                                                      bonjour;

                                                      voila, je dois ecrire un pacquage qui compare entre deux phrases, chaque phrase donnée pas un utilisateur via une application (que je dois programmer en java) est sauvegardée dans une BBD, et le programme à chaque nouvelle saisie vérifie si le commentaire existe déja ( à un certain degré de similitude à fixer) et affiche alors les commentaires similaires. je dois tester le programme de comparaison avec JUNIT et générer une documentation Jdoc.

                                                      je n'ai jamais programmé en java au préalable alors je sais pas par où commencé!!!!!! please help 

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        17 janvier 2018 à 9:21:45

                                                        Bonjour,

                                                        Le tuto n'a jamais été mis en accessibilité publique ?
                                                        Je ne le trouve pas, il me serait utile !

                                                        Merci pour le boulot effectué !


                                                        Zozor a écrit:

                                                        Lire le tutoriel
                                                        Tuto ouvert aux bêta-tests
                                                        Réservé aux membres



                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          18 janvier 2018 à 10:37:37

                                                          Merci Zozor,

                                                          Mais je suis bien membre, même membre premium, et j'ai ce cher message d'erreur :

                                                          Hu hu ! 404 !

                                                          La page que vous cherchez n'existe pas (ou plus).

                                                          Y accèdes-tu, de ton côté, avec ton lien ?

                                                          Zoubi

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          [Bêta ON] jUnit - Les tests unitaires en Java

                                                          × 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