20-08-2012, 08:38 AM
Oui, il faut le faire.
Un bon moyen pour ça est d'encapsuler toute la logique d'une interaction dans une classe dédiée à ça, puis d'isoler les différents cas et d'écrire un test automatisé pour ça.
Par exemple, pour Conquest on Rails, j'ai isolé l'action d'attaque d'un joueur sur un territoire dans la classe
Un bon moyen pour ça est d'encapsuler toute la logique d'une interaction dans une classe dédiée à ça, puis d'isoler les différents cas et d'écrire un test automatisé pour ça.
Par exemple, pour Conquest on Rails, j'ai isolé l'action d'attaque d'un joueur sur un territoire dans la classe
CharacterAttacksTerritory
. J'ai d'abord écrit des tests unitaires pour décrire son comportement, puis au fur et à mesure, j'ai écrit l'implémentation (dès qu'un test passait, je l'affinais ou j'en écrivais un autre, qui me poussait à changer l'implémentation que je venais d'écrire). Comme tu peux le voir, les premiers tests servent à vérifier les cas limites (et l'implémentation est là).