TDD per i manichini

Feb 27 2023
Nella mia carriera di Software Developer, fino a poco tempo fa, non sono mai stato così interessato ai test, perché non ne capivo il reale valore. Dopo un po' di ricerche, studi e dimostrazioni di concetti, ora posso scrivere sui test e sul perché utilizzare TDD nella routine quotidiana di programmazione.

Nella mia carriera di Software Developer, fino a poco tempo fa, non sono mai stato così interessato ai test, perché non ne capivo il reale valore . Dopo un po' di ricerche, studi e dimostrazioni di concetti, ora posso scrivere sui test e sul perché utilizzare TDD nella routine quotidiana di programmazione .

Innanzitutto, cos'è il TDD?

No, non è un test pattern, TDD è l'acronimo di Test Driven Development e funziona con i cicli:

Ciclo TDD

Fonte: QA impatto

  • Primo passaggio, creerai un test unitario che fallisce, sì, fallisce ! perché il tuo test viene sempre prima della tua classe di produzione. Un buon primo test che uso sempre è assicurarmi che la mia classe, o funzione, sia chiamata con i valori corretti.
  • Secondo passo, nella tua classe di produzione scrivi solo il codice necessario per far passare il tuo test , sii paziente, ne varrà la pena.
  • Terzo e ultimo passaggio, tempo di refactoring ! ora creerai il miglior codice possibile per la classe di produzione, utilizzerai i tuoi modelli preferiti e otterrai il codice il più velocemente possibile.

L'idea di questi cicli è classificare unitariamente i comportamenti delle tue classi, per garantire sempre che il tuo codice faccia quello che vuoi senza grossi problemi. A volte potresti dimenticarti di testare un bug o una funzionalità, ma con tre semplici passaggi puoi risolverlo ( INIZIA SUBITO A PROVARE ).

Vantaggi dell'utilizzo di TDD

  • Evita la codifica complessa, pensi sempre a cosa devi fare prima di farlo o preferisci non sapere cosa stai facendo prima di farlo?
  • Codice refactor tutto il tempo;
  • Copertura completa delle tue classi, avrai sempre informazioni su come funziona il tuo codice e se ha superato tutti i test;
  • Semplifica la rimozione dei file e aiuta ad apportare modifiche al codice quando necessario;
  • Evita la rielaborazione in molti modi
  • Nessuno, il tempo extra per i test ti farà risparmiare molto lavoro.
  • Jest , funziona con JavaScript:
  • JUnit , funziona con Java:
  • Pytest , funziona con Python:
  • PHPUnit , funziona con PHP:
  • XUnit , funziona con . NET Framework:

Grazie per aver letto, a dopo! qualche suggerimento?