Antecedentes: Estou pensando em tentar introduzir o conceito de testes de unidade para meus colegas de trabalho, criando alguns para um módulo em que estou trabalhando; os requisitos dele foram alterados recentemente e exigem mais abstrações / interações, portanto, parece uma boa maneira de desenvolver um conjunto de testes que "provarão" que ele funciona sem ter que procurar manualmente pelo aplicativo.
A questão, no entanto, é que o módulo depende de fatores externos imbatíveis, como PDFs e XSL. Basicamente, leio XML do banco de dados e aplico uma transformação XSL a ele, depois o converto em PDF usando uma biblioteca chamada ABCPDF. Este PDF é mesclado com outro PDF com base em um modelo estático. Sei que posso testar o XML e garantir que os valores estejam corretos, mas muitos dos possíveis bugs e problemas estão relacionados à exibição real do documento finalizado - por exemplo, minúcias como o comprimento das seqüências de texto, onde determinadas áreas HTML estão localizado em relação ao documento, etc. É possível testar essas coisas (eu percebo que esses provavelmente são testes de integração ou .. o terceiro tipo de teste cujo nome eu esqueço [não são os testes de aceitação, o outro tipo] e não a unidade testes), já que eu não sei como zombar de um PDF facilmente, criando-o e depois lendo-o novamente ou criando uma string HTML (ou seja, XML transformado) e analisando-o manualmente para verificar a presença de determinadas células da tabela em relação a outras células da tabela.
Em uma situação como essa, devo me concentrar apenas nos testes de unidade para garantir que as informações estejam corretas e que eu possa criar o PDF, mesclá-los ou qualquer outra coisa e recorrer a testes manuais para os problemas reais de exibição?