203 votes

Les tests unitaires Anti-modèles catalogue

anti-modèle : il doit y avoir au moins deux éléments clés de présenter officiellement distinguer un véritable anti-modèle à partir d'une simple mauvaise habitude, une mauvaise habitude, ou mauvaise idée:

  • Certains modèle répétitif de l'action, de processus ou de la structure qui au départ semble être bénéfique, mais en fin de compte qui produit le plus de conséquences néfastes que bénéfiques résultats, et
  • Une refonte de la solution qui est clairement documenté, éprouvée dans la pratique et reproductible.

Voter pour le TDD anti-modèle que vous avez vu dans la "nature" une fois de trop.
Le blog de James Carr et la discussion à ce sujet sur testdrivendevelopment yahoogroup

Si vous avez trouvé un 'sans nom'.. post 'em. Un poste par anti-modèle, veuillez vous rendre les votes comptent pour quelque chose.

Mon intérêt est de trouver les n premiers sous-ensemble, de sorte que je peux parler de 'em dans une boîte à lunch rencontrer dans un avenir proche.

70voto

Ilja Preuß Points 1914

Des Citoyens de seconde Classe - code d'essai n'est pas ainsi remaniée de la production de code, qui contient beaucoup de code dupliqué, ce qui rend difficile de maintenir des tests.

67voto

Gishu Points 59012

Le Free Ride / Piggyback -- James Carr, Tim Ottinger
Plutôt que d'écrire un nouveau cas de test de la méthode pour tester un autre/particularité/fonctionnalités, une nouvelle assertion (et de ses actions, à savoir la Loi sur des mesures de AAA) se déplace le long d'un cas de test existant.

64voto

Geoglyph Points 340

Heureux Chemin

Le test reste sur happy chemins (c'est à dire les résultats attendus) sans tester les limites et les exceptions.

JUnit Antipatterns

59voto

annakata Points 42676

Le Héros Local

Un cas de test qui dépend de quelque chose de spécifique à l'environnement de développement, il a été écrit dans l'ordre à exécuter. Le résultat est le test passe sur le développement des cases, mais échoue lorsque quelqu'un tente de l'exécuter ailleurs.

La Dépendance Cachée

Étroitement lié au héros local, un test unitaire qui nécessite des données existantes ont été peuplées quelque part avant que le test fonctionne. Si cette donnée n'était pas renseigné, le test échouera et de laisser peu d'indication pour le développeur de ce qu'il voulait, ni pourquoi... les obligeant à creuser à travers hectares de code pour trouver l'endroit où les données qu'il utilisait était censé venir de.


Malheureusement vu cela trop grand nombre de fois avec l'ancienne .dll, qui dépendent de la nébuleuse et variées .les fichiers ini qui sont constamment hors de la synchronisation sur le système de production, de la laisser seule existante sur votre machine sans consultation approfondie avec les trois développeurs responsables de ces dll. Soupir.

58voto

Aaron Digulla Points 143830

Gang De Chaîne

Un couple de tests qui doivent être exécutées dans un certain ordre, c'est à dire un test de changements de l'état global du système (variables globales, les données dans la base de données) et le test suivant(s) en dépend.

On voit souvent cela dans les tests de base de données. Au lieu de faire une restauration en teardown(), les tests de commettre leurs modifications apportées à la base de données. Une autre cause fréquente est que les modifications de l'état global ne sont pas enveloppés dans des try/finally blocs, et le nettoyer si le test échoue.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X