Supposons que vous ayez des tests pour deux méthodes d'une classe. La première méthode rassemble les données d'un autre niveau et les place dans une sorte de stockage indépendant du runtime (comme une table SQL), donc toutes les données traitées par ce test sont codées en dur dans le test. La deuxième méthode est chargée de prendre des données d'où la première méthode les a laissées et de les transformer d'une certaine manière (calcul, déplacement de certaines parties ailleurs, etc.).
Maintenant, cette deuxième méthode pourrait avoir des entrées codées en dur comme la première, ou on pourrait supposer que les deux tests seraient exécutés séquentiellement et pourraient reprendre là où le 1er test s'était arrêté, en prenant les données qui étaient réellement stockées par le premier test.
Si vous optiez pour la deuxième option, vous auriez vraiment une bonne idée que les deux méthodes fonctionnent bien ensemble, cependant, si le premier test échouait, tous les tests après échoueraient, ce qui retirerait l'avantage du test d'aider à isoler les bogues plus rapidement.
Si vous optiez pour la première option, chaque méthode serait isolée et testée indépendamment, mais vous ne sauriez jamais vraiment qu'elles peuvent vraiment fonctionner correctement ensemble.
Quelle est la meilleure option ici? Existe-t-il une sorte d'alternative comme avoir un seul test pour chaque méthode isolée avec codage en dur, puis des tests plus importants qui contiennent les deux méthodes en une seule?