Contexte: Je pense essayer d'introduire le concept de tests unitaires à mes collègues en en créant pour un module sur lequel je travaille; les exigences de celui-ci ont récemment changé et nécessitent quelques abstractions / interactions supplémentaires, donc cela semble être un bon moyen de développer une suite de tests qui "prouveront" que cela fonctionne sans avoir à fouiller manuellement l'application.
Le problème, cependant, est que le module repose sur des facteurs externes non modifiables, à savoir les fichiers PDF et XSL. Fondamentalement, je lis XML à partir de la base de données et y applique une transformation XSL, puis le convertis en PDF à l'aide d'une bibliothèque appelée ABCPDF. Ce PDF est ensuite fusionné avec un autre PDF basé sur un modèle statique. Je sais que je peux tester le XML et m'assurer que les valeurs sont correctes, mais de nombreux bugs et problèmes potentiels sont liés à l'affichage réel du document fini - par exemple, des minuties comme la longueur des chaînes de texte, où certaines zones HTML sont situé par rapport au document, etc. Est-il même possible de tester ces choses (je me rends compte que ce sont probablement des tests d'intégration ou .. le troisième type de test dont j'oublie le nom [pas les tests d'acceptation, l'autre type], et pas l' unité tests) car je ne peux pas, à ma connaissance, simuler un PDF facilement avant de le créer, puis de le lire ou de créer une chaîne HTML (c'est-à-dire du XML transformé) et de l'analyser à la main pour vérifier la présence de certaines cellules de tableau dans par rapport aux autres cellules du tableau.
Dans une situation comme celle-ci, dois-je me concentrer uniquement sur les tests unitaires pour m'assurer que les informations sont correctes et que je peux créer le PDF, ou les fusionner, ou quoi que ce soit et recourir à des tests manuels pour les problèmes d'affichage réels?