|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Lionel ANDREInscription : avril 2005 Messages : 304 ![]() |
Bonjour,
J'aurais besoin de quelques conseils pour le développement de mes tests. Je ne sais pas quelle est la meilleure solution entre :
Comment développez-vous vos tests ? |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : février 2009 Messages : 112 ![]() |
Personnellement j'utilise généralement la deuxième solution,
Je peux vouloir tester plusieurs qu'une méthode se déroule correctement lors de son contexte d'utilisation traditionnel, mais aussi qu'elle renvoie telle ou telle exception sur des cas particuliers par exemple.
__________________
jnesis.com |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Lionel ANDREInscription : avril 2005 Messages : 304 ![]() |
Merci pour ta réponse.
Je suis dans le même cas que toi. Je teste à la fois que les valeurs retournées sont correctes en cas de succès, mais également que les exceptions sont correctement levées en cas de problème. Personnellement j'ai commencé à tester avec la 1ère solution et elle ne me semble pas très facile à maintenir... |
|
|
00
|
|
|
#4 |
![]() ![]() Papa I. DiakhatéIngénieur de développement (Java/JEE & webMethods) / Admin systèmes Linux Inscription : avril 2006 Messages : 899 ![]() |
Bonjour,
d'ailleurs, c'est la philosophie des tests unitaires hein. Chaque méthode dont le niveau d'encapsulation est protected, package ou public devrait avoir sa/ses propre(s) méthode(s) de tests. Il faut normalement pour chaque test unitaire (c'est à dire pour chaque méthode annotée par @Test) tester un cas possible (valeur attendue, valeur non attendue, exception attendue, ...) Donc, ce n'est très certainement pas une bonne idée de tout tester (voire de tester plusieurs choses) sur une seule méthode de test. Cordialement,
__________________
Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants. Modérateur aux rubriques Linux/Unix, Java et au chat d'entraide du site. http://blog.paissad.net |
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Olivier Ingénieur développement logiciels Inscription : janvier 2004 Messages : 659 ![]() |
Comme le dit paissad, il s'agit de test unitaires. Ils doivent donc tester des unités, pas des ensembles, des groupes, etc, etc...
D'ailleurs, le problème majeur de tout tester dans une seule méthode c'est que si ta première assertion plante, tu ne sauras pas, tant que tu n'as pas ré-exécuté tes tests, que les 48 assertions suivantes plantent aussi. Et devoir exécuter 49 fois ta méthode de tests pour voir tous les cas de plantage c'est pas super productif
__________________
Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter ! |
|
|
00
|
|
|
#6 | ||
|
Membre régulier
![]() Lionel ANDREInscription : avril 2005 Messages : 304 ![]() |
Bonjour,
J'ai re-développé mes classes de test ! Maintenant j'ai 1 méthode par test : Code :
|
||
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Olivier Ingénieur développement logiciels Inscription : janvier 2004 Messages : 659 ![]() |
Ravi que ça t'ait servi.
Pour info, par respect de la convention de nommage Sun des noms de méthodes, il faudrait que tu nommes tes méthodes sans undescore ! http://www.loribel.com/java/normes/nameMethod.html Code :
public void testMaMethodeWhenInvalidArguments(); public void testMaMethodeWhenSuccess();
__________________
Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter ! |
|
|
10
|
|
|
#8 |
|
Membre régulier
![]() Lionel ANDREInscription : avril 2005 Messages : 304 ![]() |
Oui c'est vrai. C'est ce que j'avais fait au début mais je trouvais que c'était moins lisible...
Mais je vais suivre la norme ^^ |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com