Disons que j'ai une méthode comme celle-ci:
public void OrderNewWidget(Widget widget)
{
if ((widget.PartNumber > 0) && (widget.PartAvailable))
{
WigdetOrderingService.OrderNewWidgetAsync(widget.PartNumber);
}
}
J'ai plusieurs de ces méthodes dans mon code (la moitié avant d'un appel de service Web asynchrone).
Je me demande s'il est utile de les couvrir de tests unitaires. Oui, il y a de la logique ici, mais ce n'est qu'une logique de garde. (Cela signifie que je m'assure d'avoir les éléments dont j'ai besoin avant d'autoriser l'appel du service Web.)
Une partie de moi dit "bien sûr que vous pouvez les tester à l'unité, mais cela ne vaut pas le temps" (je suis sur un projet qui est déjà en retard).
Mais l'autre côté de moi dit, si vous ne les testez pas à l'unité et que quelqu'un change les gardes, alors il pourrait y avoir des problèmes.
Mais la première partie de moi dit en retour, si quelqu'un change les gardes, alors vous faites juste plus de travail pour eux (car maintenant ils doivent changer les gardes et les tests unitaires pour les gardes).
Par exemple, si mon service assume la responsabilité de vérifier la disponibilité des widgets, je ne veux plus de ce gardien. S'il est sous test unitaire, je dois changer deux endroits maintenant.
Je vois les avantages et les inconvénients dans les deux sens. J'ai donc pensé demander ce que les autres avaient fait.
but it is not worth the time" (I am on a project that is already behind schedule).
Nous sommes des développeurs de logiciels. La seule fois où nous sommes dans les délais, c'est quand nous sommes morts :)