J'écris des tests pour un projet composé de plusieurs sous-modules. Chaque cas de test que j'ai écrit s'exécute indépendamment les uns des autres et j'efface toutes les données entre les tests.
Même si les tests sont exécutés indépendamment, je songe à appliquer un ordre d'exécution, car certains cas requièrent plusieurs sous-modules. Par exemple, un sous-module génère des données et un autre exécute des requêtes sur les données. Si le sous-module générant les données contient une erreur, le test du sous-module de requête échouera également, même si le sous-module lui-même fonctionne correctement.
Je ne peux pas travailler avec des données factices, car la fonctionnalité principale que je teste est la connexion à un serveur distant Black Box, qui récupère uniquement les données du premier sous-module.
Dans ce cas, est-il correct d'appliquer un ordre d'exécution pour les tests ou est-ce une mauvaise pratique? J'ai l'impression qu'il y a une odeur dans cette configuration, mais je ne trouve pas de meilleur moyen de contourner le problème.
edit: la question est de Comment structurer des tests où un test est la configuration d'un autre test? comme le "précédent" test n'est pas une configuration, mais teste le code qui effectue la configuration.