Skip to content

Commit

Permalink
content(tdd by example): notes on chapter 26
Browse files Browse the repository at this point in the history
  • Loading branch information
mkrtchian committed Apr 8, 2024
1 parent 56c5fed commit b381c54
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions pages/books/test-driven-development-by-example.md
Original file line number Diff line number Diff line change
Expand Up @@ -2020,3 +2020,18 @@
- On va chercher à faire apparaître les valeurs en dur dans le test, plutôt que de les mettre dans des constantes à importer.
- Si un résultat est censé être obtenu à partir des données initiales, on peut faire apparaître le calcul pour montrer la relation explicitement. Par exemple reprendre les valeurs `100 / 2 * (1 - 0.015)` dans lassert, plutôt que la valeur finale `49.25`.
- NDLR : ce point en particulier va à lencontre du conseil de Vladimir Khorikov dans **_Unit Testing_**, où il dit préférer ne pas reproduire le code de production dans les tests pour avoir deux versions différentes du calcul, celle des tests étant complètement en dur.

### 26 - Red Bar Patterns

- On traite **un test à la fois**.
- Pour **choisir le prochain test** à traiter :
- On sassure quil nous apprendra quelque chose.
- On sassure quon est confiant de pouvoir implémenter.
- Le **1er test quon traite doit être simple** pour quon le traite rapidement. Typiquement, on peut choisir des inputs qui font que le système ne fait rien, ou renvoie loutput le plus simple possible.
- Pour faire en sorte que les personnes de son équipe se mettent au TDD, Kent propose de leur demander de reformuler la fonctionnalité sous forme de tests, cest-à-dire dinputs, dexécution et doutputs obtenus dans ce cas.
- Le seul moment où on écrit des tests après le code, cest dans le cas des **learning tests**, où il sagit de **tester le fonctionnement dune librairie déjà existante**. On sassure quon comprend comment elle marche pour la partie qui nous intéresse, et que ce fonctionnement ne changera pas à lavenir et ne cassera pas notre logiciel.
- Quand on a un **bug**, la première chose à faire est d**écrire le plus petit test possible qui le reproduit**, pour ensuite le faire passer.
- Il faut aussi se demander comment on aurait pu faire pour que ce test soit écrit dès le départ dans le cadre du développement en TDD.
- Kent conseille de **prendre souvent des pauses**, parce que la bonne idée viendra souvent à ce moment-là. Et si elle ne vient pas, cest un bon moment pour revoir ses objectifs.
- Parfois, quand on sembourbe dans un code bordélique, il est préférable de jeter le travail quon vient de faire et de le refaire en repartant de zéro.
- Dans la même idée, changer de partenaire de pair programming peut permettre davoir un œil nouveau sur ce qui a été fait, et peut amener à recommencer autrement.

0 comments on commit b381c54

Please sign in to comment.