Sto scrivendo un'applicazione per console di piccole dimensioni. Ho avuto cura di essere in grado di testare le parti aziendali importanti di esso in Test unitari.
Ma avendo finito quasi tutto mi sono reso conto che potevo semplicemente testare l'applicazione nel suo complesso. Fondamentalmente, ho potuto testare Main
con gli argomenti appropriati in modo che l'applicazione eseguisse "tutte le parti precedentemente testate con test specifici.
Perché dovrei scrivere dei test per le parti più piccole quando posso testare il tutto? Non sarebbe meglio testare sempre "dall'esterno", per così dire? Significato perché l'unica "interfaccia" per l'utente sono gli argomenti e la configurazione, dovrei fare anche solo i test da quell'angolo.
Un esempio per illustrare ciò che intendo è quando si considera un calibro. A questo può essere data una stringa da calcolare.
Internall, userà alcune analisi, calcoli e un output.
Quindi, perché dovrei scrivere test unitari specifici per la parte di calcolo quando posso scrivere un test che chiama semplicemente la calcolatrice con una stringa con ad es. una semplice aggiunta.
In questo modo, non solo avrò testato il calcolo stesso, ma anche l'analisi e posso anche controllare se l'output funziona come previsto.
O pensando al contrario : se ho già scritto test per l'analisi, il calcolo e l'output separatamente, dovrei preoccuparmi anche di scriverne un altro che tenga conto di tutto ciò?
Perché, quando si aggiunge tutto, quando si scrivono piccoli test + test per il tutto, in pratica si duplica ogni test. E quella volta la quantità di test effettivi che devi scrivere. Sembra un po 'una perdita di tempo?