2010-11-15 3 views
2

Exemple:Méthode de test: tests de niveau inférieur en premier?

1) Une méthode de test particulière teste une caractéristique de bas niveau. Disons qu'il teste une fabrique d'instances. 2) Beaucoup de fonctions dépendent de cette chose de bas niveau.

Maintenant, la chose de bas niveau est cassée, et sa méthode de test échoue. Est-ce que je veux le voir enfoui sous des centaines d'autres tests de fonctionnalité qui ont échoué? Ou est-ce que je veux voir ce premier échec?

Juste une instance où je pense que vous voulez avoir certains ordonnancement de l'exécution de la méthode de test, à savoir: les niveaux inférieurs avant les plus élevés.

Notez que je fais NOT implique une dépendance pour l'ordre d'exécution des méthodes de test. Aucune méthode de test n'a besoin d'un résultat ou d'un état provenant d'un autre test.

Répondre

1

Personnellement, je préfère avoir tous les messages d'erreur pour m'avertir de l'étendue du problème - si vous exécutez vos tests unitaires fréquemment, vous saurez ce que vous avez modifié pour les casser.

+0

D'accord, de toute façon. Même moi, j'ai choisi de ne pas le faire comme je l'ai suggéré dans ma question, mais plus dans le sens qu'il vaut mieux ne pas aller à contre-courant. C'est digne de discussion. –

0

Je me moquerais de la "fabrique d'instances" dans le test de niveau supérieur. Si une caractéristique est brisée, de préférence seuls les tests qui testent cette caractéristique devraient échouer. Vous pouvez casser cette fonctionnalité sans savoir pourquoi et ensuite vous voulez voir le test de fonctionnalité exact échouer. Sinon, vous pourriez avoir du mal à comprendre ce qui était cassé. Vous pouvez bien sûr annuler le dernier changement pour le corriger, mais vous ne savez peut-être pas encore pourquoi tout se casse.