No, non ho fatto test di unità di generazione di documenti di MS Word, ma come dice Ingó Vals, non dovrebbe essere diverso da qualsiasi altra forma di test di unità.
1) [Facoltativo: per assicurarsi di aver compreso l'uso corretto dell'SDK per le proprie esigenze]. Scopri come l'app dovrebbe guidare l'SDK. Scrivi degli script di test che imitano le funzionalità previste e assicurati che i documenti Word generati soddisfino le tue aspettative.
2) Creare un'interfaccia (o interfacce) che contenga metodi che corrispondono alla funzionalità necessaria per la generazione della documentazione. Nota: l'interfaccia non ha bisogno di offrire la piena funzionalità di OpenXML SDK - solo la funzionalità di cui hai bisogno per la tua applicazione.
3) Creare una concreta implementazione dell'interfaccia, che inoltra le chiamate al OpenXML SDK
4) utilizzano l'interfaccia è stato creato nella vostra applicazione per eseguire la generazione di documenti.
5) Utilizzare NUnit e NMock (o simile) per scrivere test di unità che guidano il livello di generazione dell'applicazione. Questi test dovrebbero utilizzare un'interfaccia fittizia, piuttosto che un'istanza dell'implementazione concreta. Ora puoi affermare nei tuoi test che il tuo livello di generazione si comporta come ti aspetti.
fonte
2010-08-12 15:54:46
Perché il test dell'unità OpenXML deve essere diverso dallo standard. Stai provando a convalidare se il documento può aprirsi a parole o se andrà bene? –
Non è diffrente, è solo tecnicamente difficile. Il test tipico è Arrange-Act-Assert. Quindi la domanda è: come possiamo fare facilmente l'ultima parte? Segnala. Forse usando un sistema di automazione di parole o di automazione dell'interfaccia utente, ma non vedo un modo semplice per farlo. Così finisco con i test che generano report e l'apertura in parole, quindi controllo manualmente se il report va bene. Non è un test unitario "puro", ma è meglio che eseguire l'app completa per generare rapporti necessari. Inoltre sono interessato al test del codice che funziona direttamente con Open XML, tutti gli altri pezzi che ho separato e testato con i soliti test unitari. – Andrii