Nella nostra azienda in genere ci assicuriamo di scrivere un test end-to-end per i nostri siti Web / app Web. Ciò significa che accediamo a un URL, compiliamo un modulo, inviamo il modulo a un altro URL e controlliamo i risultati della pagina. Facciamo questo per testare la validazione dei moduli, verificare che i modelli HTML abbiano le variabili di contesto corrette, ecc.
Lo usiamo anche per testare indirettamente la logica sottostante.
Mi è stato detto da un collega che la ragione di ciò è che possiamo strappare e cambiare l'implementazione sottostante in qualsiasi momento finché i test end-to-end passano.
Mi chiedo se questo tipo di disaccoppiamento abbia senso o se sia solo un modo per evitare di scrivere test per unità di codice più piccole?
was told by a co-worker that the reason for this is that we can rip out and change the underlying implementation at any point as long as the end-to-end tests pass.
- Questo vale anche per i test unitari. Mi sembra che i test end-to-end vengano usati come scusa per non scrivere test unitari.