Mon projet de test consiste en un ensemble de fichiers de données d'entrée qui est introduit dans un logiciel tiers hérité. Puisque les fichiers de données d'entrée pour ce logiciel sont difficiles à construire (pas quelque chose qui peut être fait intentionnellement), je ne vais pas ajouter de nouveaux fichiers de données d'entrée.Personnalisation de l'interface utilisateur graphique NUnit pour les tests pilotés par données
Chaque fichier de données d'entrée sera soumis à un ensemble de "fonctions de test". Certaines fonctions de test peuvent être appelées indépendamment. D'autres fonctions de test représentent les étapes d'une opération séquentielle - si une étape précédente échoue, les étapes suivantes n'ont pas besoin d'être exécutées.
J'ai expérimenté avec le cas de test paramétré NUnit (TestCaseAttribute et TestCaseSourceAttribute), en passant dans la liste des fichiers de données en tant que cas de test. Je suis généralement satisfait de la possibilité de sélectionner les données d'entrée pour les tests.
Cependant, je voudrais voir s'il est possible de personnaliser la structure arborescente de son interface graphique, de sorte que les "fonctions de test" deviennent les enfants des "données d'entrée". Par exemple:
- fichier # 1
- CheckFileTypeTest
- GetFileTopLevelStructureTest
- CompleteProcessTest
- StageOneTest
- StageTwoTest
- StageThreeTest
- fichier # 2
- CheckFileTypeTest
- GetFileTopLevelStructureTest
- CompleteProcessTest
- StageOneTest
- StageTwoTest
- StageThreeTest
Cela sera utile pour identifier l'étape qui a échoué lors du traitement d'un fichier d'entrée particulier.
Y a-t-il des trucs et astuces qui vont permettre la nouvelle disposition des arbres? Ai-je besoin de personnaliser NUnit pour obtenir cette mise en page?
Modifié: Voir la question Term for unit testing that separates test logic from test result data pour une introduction au concept de séparation des données de test et du code de test. Dans ma situation, la séparation est motivée par des préoccupations pratiques et non par des raisons idéologiques. Les sources de mes fichiers de données de test sont "dans la nature".
Autre utilisation anecdotique de tests pilotés par les données:
- http://www.clear-lines.com/blog/post/Data-driven-tests-with-NUnit-25.aspx
- http://www.clear-lines.com/blog/post/No-Tolerance-for-NUnit-Data-Driven-tests.aspx
Assurez-vous que l'interface graphique de NUnit n'offre aucune personnalisation (ou, au mieux, qu'elle est très limitée). Tu devrais écrire le tien. –
En test, l'interface utilisateur graphique est votre ennemi, pas un ami :) Toutefois, vous pouvez transformer la sortie XML une fois les tests terminés, puis la cracher dans un code HTML bien formaté. Je l'ai déjà fait pour cacher des tests, changer leurs noms, etc. Au fait, http://www.gallio.org/ + MbUnit est bien meilleur que NUnit, je le jure! –
@rwong Je vais migrer ceci vers StackOverflow. Cette question est trop objective pour Programmers.SE et vous aurez probablement une meilleure chance d'obtenir une réponse là-bas. –