0
votes

Java Junit échouant quand on attend et réel sont les mêmes?

J'ai fini de développer un grand projet que j'ai travaillé. J'ai généralement fait mes propres tests sans junit, mais mes besoins sont de l'utiliser maintenant. Toutes mes méthodes que je veux tester sont annulées et que je ne retourne rien, mais imprimez des informations en fonction de certains facteurs. Donc, je dois tester ces utilisateurs à l'aide de la méthode Assertequals pour Junit.

Par exemple: xxx

C'est l'une des méthodes de vide Voulez-vous tester à partir de ma classe d'adresse dubook, pour l'instant, je suis testant pour voir si l'utilisateur peut être ajouté afin qu'il devrait imprimer \ nuer: "+ touche +" ajouté avec succès

ici dans ma classe de test Junit, j'essaie de vérifier cela comme ... xxx

La sortie de Junit est la suivante: attendu: <[ Utilisateur: Charlie Ansell ajouté avec succès]> mais était <[Utilisateur: Charlie ansell a ajouté avec succès]>

Ma question est, pourquoi est-ce défaut s'ils montrent si elles montrent la même sortie?


1 commentaires

Juste parce qu'ils ont l'air la même chose ne signifie pas qu'ils sont en fait la même chose. Certains personnages ressemblent à d'autres personnages. Certains caractères sont invisibles.


3 Réponses :


2
votes

malgré le contenu semblable au contenu, vous avez des pauses de ligne supplémentaires ( \ n ) dans votre programme que vous n'avez pas inclus dans votre test.

Remplacer:

Assertequals ("Utilisateur: Charlie Ansell a ajouté avec succès", externe.tostring ());

avec:

Assertequals ("\ Nuser: Charlie Ansell a ajouté avec succès \ n", sorcent.tostring ());


2 commentaires

Ouais, vous manquez également une pause de ligne à la fin. Test passe pour moi


L'essai a-t-il passé pour vous sans utiliser .trim je viens de poster une réponse, je devais couper les deux objets pour réussir le test



3
votes

Avez-vous essayé de le déboguer et de regarder la différence?
Mon devinez - manquant \ n au début (à partir de votre code) et la fin (vous utilisez println ).

Cela devrait fonctionner: Assertequals ("\ Nuer: Charlie Ansell a ajouté avec succès \ n", sorcente.tostring ());


2 commentaires

Salut, nir. Malheureusement, cela a également échoué, je l'ai débogué et il a l'air de la même chose


'Looks' ne dit pas grand chose. Quel est le résultat de égaux () ? Quel est le résultat de garniture (). Equals () ?



0
votes

D'accord, alors je viens de découvrir la réponse.

J'ai ajouté la fonction .trim () à la fin de l'objet attendu et l'objet actuel. Donc, mon nouveau code ressemble à ceci: xxx

Mon hypothèse est qu'il y avait des espaces vides dans les deux sorties, grâce à tous ceux qui ont commenté, j'apprécie l'aide < / p>


0 commentaires