J'ai un morceau de code qui ressemble à ceci:
function bool PassesBusinessRules()
{
bool meetsBusinessRules = false;
if (PassesBusinessRule1
&& PassesBusinessRule2
&& PassesBusinessRule3)
{
meetsBusinessRules= true;
}
return meetsBusinessRules;
}
Je pense qu'il devrait y avoir quatre tests unitaires pour cette fonction particulière. Trois pour tester chacune des conditions dans l'instruction if et s'assurer qu'elle retourne false. Et un autre test qui s'assure que la fonction retourne vrai.
Question: Devrait-il y avoir à la place dix tests unitaires? Neuf qui vérifie chacun des chemins d'échec possibles. C'EST À DIRE:
- Faux Faux Faux
- Faux Faux Vrai
- Faux Vrai Faux
Et ainsi de suite pour chaque combinaison possible.
Je pense que c'est exagéré, mais certains des autres membres de mon équipe ne le font pas. La façon dont je le vois est que si BusinessRule1 échoue, il devrait toujours retourner faux, peu importe si elle a été vérifiée en premier ou en dernier.