Testable

  • Le problème c’est que le code n’est pas testable.
  • Mais si, tu as juste a rajouter des var_dump dans le code et puis c’est bon.

J’aurais bien aimé dire que ce dialogue est tout droit issu de mon imagination. Que jamais un collègue n’aurait osé me dire une chose pareille. Sauf si bien sur le dit collègue souhaitais vraiment me faire sortir de mes gonds et finir pendu la tête en bas avec une pancarte d’infamie attachée autours des valseuses sur la place publique. La loi puni sévèrement ce genre d’actes mais je suis certain qu’un bon avocat saurait facilement me trouver des circonstances atténuantes.

Reprenons les choses par le bon bout. Quand je dis testable, j’entends un code sur lequel je pourrais lancer des tests unitaires afin de m’assurer que tout fonctionne correctement.

Mettre des points d’arrêts, des dumps et des die dans le code cela porte un nom : c’est du débug. Le débug, j’ai rien contre mais je préfère réserver ça pour des cas d’urgences. Quand le serveur me saute à la tronche et que j’ai aucune idée du pourquoi du où du comment. Ce genre de situation, je les préfère les plus rares possibles. Je ne suis plus tout jeune et je n’ai pas gout à me shooter à l’adrénaline surtout avec les hurlements des clients en toile sonore.
L’idéal ça reste encore le code qui fonctionne dès sa mise en prod. J’insiste sur le mot idéal car dans le mode réel tout ne va pas toujours pour le mieux dans le meilleur des mondes. Shit happens comme on dit dans le métier.

Un code cela se teste et n’en déplaise à certains : tester et debugger ce n’est pas du tout la même chose.

Les tests cela permet de s’assurer d’une part que le code fonctionne comme il est sensé le faire mais en plus qu’il ne plantera pas à la prochaine modification. Si je dois serrer les fesses à chaque commit en espérant que tout ne va pas me sauter à la tronche tout ça simplement parce qu’un béotien de fond de classe n’a strictement rien compris à la notion de test : autant dire tout de suite que je ne ferais pas de vieux os dans l’équipe.

Parce qu’au final il y a sans doute pire que celui qui ne fait pas, c’est sans doute celui qui crois avoir fait alors qu’il n’en ai rien. Je vous la refais en plus grossier, c’est sans doute plus compréhensible comme ça. Je collerais une étiquette interdit au moins de 16 ans sur le bandeau du site après. En résumé d’un coté il y a le zigue qui se bat les steaks du TDD et qui le dit fièrement. Au moins là on sait à quoi s’attendre. Et de l’autre y a le zigue qui prétend que tout roule comme sur du papier à musique et qu’il n’y a plus qu’a poser dessus les tests unitaires comme des petits papillons sur des marguerites alors qu’en réalité je pourrais tout aussi bien me les carrer dans l’oignon et profond t’en qu’à faire. Amis de la poésie, bonsoir.

Résumons : si je dois modifier ne serait ce qu’une ligne de mon code pour le tester : alors il n’est pas testable. Y a pas a tricoter c’est comme ça et pas autrement.


Witten – Muttental – Zeche Nachtigall Dampffördermaschine 06 By Daniel Mennerich – CC BY-NC-SA

Laisser un commentaire