IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Test unitaires méthode privée


Sujet :

Java

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut Test unitaires méthode privée
    Bonjour

    Je souhaite faire des tests unitaires sur mes méthodes qui sont privée et publique
    J'ai ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public List<Class1> maMethod(){
    return maMethodPrivate();
    }
     
    private List<Class1> maMethodPrivate(){
    return methodDAO();
    }
    Je vois pas trop comment faire ici pour mocker ma DAO comme elle se trouve dans la méthode privée. Et je sais pas si je dois faire les tests sur toutes les méthodes ou juste sur celle qui est public.

  2. #2
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Salut,

    Pour pouvoir tester une méthode dont la visibilité est privée, tu peux passer par l'introspection et notamment te servir de Method#setAccessible() à true pour pouvoir exécuter ta méthode.

    A+
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  3. #3
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par totot Voir le message
    Je vois pas trop comment faire ici pour mocker ma DAO comme elle se trouve dans la méthode privée. Et je sais pas si je dois faire les tests sur toutes les méthodes ou juste sur celle qui est public.
    Les tests unitaires sont avant tout pensés pour tester les méthodes publiques. Il y a surement des cas où il est nécessaire de tester une méthode privée mais ça reste, pour moi, exceptionnelle. Surtout si pour faire ce test, on complexifie inutilement une méthode de test dans le but de pouvoir réaliser un test de méthode privée.

    J'ai lu un article sur le sujet que je trouve assez bien écrit : https://blog.crafting-labs.fr/2013/1...hodes-privees/
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  4. #4
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Robin56 Voir le message
    Les tests unitaires sont avant tout pensés pour tester les méthodes publiques. Il y a surement des cas où il est nécessaire de tester une méthode privée mais ça reste, pour moi, exceptionnelle. Surtout si pour faire ce test, on complexifie inutilement une méthode de test dans le but de pouvoir réaliser un test de méthode privée.

    J'ai lu un article sur le sujet que je trouve assez bien écrit : https://blog.crafting-labs.fr/2013/1...hodes-privees/
    100% d'accord avec cela:

    - Il ne faut que tester tes méthodes publiques. Les méthodes privées ne devraient pas être testés directement. En gros, il faut regarder leur code et s'assurer que tes tests sur l'API publique couvrent tout le code privé
    - Si non, ajoute un test
    - Si tu ne peux pas créer de test qui couvre une partie de la méthode privée, il se peut bien que cette partie soit en fait du code mort

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/01/2014, 01h36
  2. Tests unitaires : lien méthode à tester et méthode testée
    Par snopims dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 30/05/2011, 19h48
  3. Réponses: 0
    Dernier message: 09/05/2011, 11h38
  4. Réponses: 3
    Dernier message: 22/03/2011, 07h41
  5. Réponses: 2
    Dernier message: 04/05/2010, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo