tests unitaires, ou modifier directement la méthode?

LouLou Membre
février 2015 modifié dans API UIKit #1

Salut,


 


j'avais des erreurs dans un projet, j'ai mis un peu de temps à  découvrir d'où elles venaient, il s'avère qu'elles venaient du json qui manquait certaines informations (une url mal écrite par exemple, pour afficher une image). 


 


Je me demandais, si dans mon code, je change simplement le comportement de ma méthode qui permet d'afficher l'image, en lui disant "si ce n'est pas une url, ou un url correcte, on saute cette étape et on met autre chose", quel est l'intérêt de la target de "test" (le test-driven development) qui va simplement déclencher une erreur si l'url n'est pas une bonne url?


 


Est-ce qu'il y a un exemple qui montre que la target de test est plus utile que simplement changer le comportement de la méthode dans le projet?


 


Edit: en fait, dans d'autres cas, on peut régler l'erreur :


- le compilateur donne l'erreur si on attend une class "Person*" et qu'on envoie "City*" à  la place.


- ou "nil" va causer un crash, donc on n'accepte pas de "nil" en faisant une simple redirection (l'exemple de la mauvaise url : on saute l'étape dans ce cas).


- dans quel autre exemple a-t-on besoin des tests?


Réponses

  • CéroceCéroce Membre, Modérateur

    Si tu veux que ta méthode accepte indifféremment une URL ou autre chose, alors pour être certain que ta méthode fonctionne, tu vas devoir tester les deux cas.


     


    Les tests automatisés remplacent... les tests manuels. Là , tu sembles demander quel est l'intérêt de tester.


     


    L'avantages des tests automatisés, comparés aux tests manuels, c'est qu'ils sont rapides à  faire passer. L'inconvénient est qu'ils sont parfois difficiles à  mettre au point, surtout pour l'IHM.


Connectez-vous ou Inscrivez-vous pour répondre.