De behavior-driven.org intitulé "GettingTheWordsRight" :
En bref, les mots que nous utilisons pour décrire les choses influencent la façon dont nous (et les autres) pensons à ces choses. Ce n'est pas seulement une simple question d'être mesquin sur la sémantique, car certains mots portent avec eux des nuances qui affectent la façon dont nous interprétons le sens d'une phrase à la fois au niveau intellectuel et émotionnel. Notre langage est riche de mots et de phrases descriptives, il semble donc raisonnable d'utiliser des mots qui traduisent clairement l'intention des éléments que nous souhaitons décrire dans le code.
Dans le cas de BDD, je suis personnellement celui qui utilise presque toujours le mot devrait lors de la dénomination des tests, car son utilisation implique que, bien que l'intention soit qu'un test fournisse un certain résultat, d'autres conséquences inattendues peuvent survenir et devront être traitées. avec si un résultat de test doit être considéré comme valide. Vous pourriez peut-être utiliser les mots attendre ou devoirde la même manière, cependant, ces mots impliquent un point de vue plus impératif, de sorte que le nom du test pourrait être confondu avec «il n'y a rien de mal avec le test, supposons que la mise en œuvre est foirée», tandis que * devrait «implique que le test est susceptible de être correct, mais il peut être nécessaire de vérifier à nouveau s'il y a une erreur si les résultats du test ne semblent pas s'additionner. J'aime cela, car cela influence votre façon de penser de sorte que vous êtes encouragé à garder l'esprit ouvert lorsque vous codez, ce qui est très important lorsque vous souhaitez éviter de rester bloqué lorsque vous essayez de déboguer votre code et que vous vous retrouvez à chercher des erreurs au mauvais endroit en raison d'une hypothèse.
J'ai cependant vu que l'application quasi «religieuse» du mot devrait échouer lorsqu'il a été appliqué en tant que préfixe pour les noms de test, car il a forcé les programmeurs impliqués à passer par une gymnastique mentale et linguistique afin de fournir un nom de test qui était significatif, et dans de tels cas, cela signifiait que l'intention de bien prononcer les mots ne répond pas à ses attentes, et les tests eux-mêmes deviennent difficiles à déchiffrer en conséquence. Lorsque ce genre de situation survient, j'utilisais généralement le mot devraità n'importe quel endroit du nom de la méthode de test, pour garantir que le nom transmet sa méthode simplement et clairement. Cependant, je n'appliquerais certainement pas un mot particulier si d'autres mots étaient également appropriés dans un contexte donné. L'astuce consiste cependant à choisir des mots qui ne laissent aucune place à l'argumentation sur ce que quelque chose représente dans le code, et qui vous incitent à penser aux choses que votre code est censé faire sans se fier à une simple implication.