Domanda

Ho avuto una discussione con qualcuno sui test di unità/integrazione con applicazioni Web e ho un disaccordo su 1 idea principale. I problemi sono che la persona a cui sto parlando pensa che il database di cui il test dell'unità è dovrebbe avere dati pre-popolati e penso che dovrebbe essere completamente vuoto prima e dopo l'esecuzione dei test.

La mia preoccupazione per i dati pre-popolati nel database è che non c'è modo di assicurarsi che i dati siano mantenuti in un buon stato. I test stessi stanno per creare, eliminare e modificare i dati nel database, quindi non vedo davvero come avere i dati nel database prima di iniziare i test sia una buona cosa.

Sembra che il modo migliore per testare la funzionalità del database sarebbe avere le seguenti configurazioni:

  1. In una fase di "configurazione" prima dell'esecuzione effettiva del test, prima di troncare tutte le tabelle nel database
  2. Quindi inserisci tutti i dati necessari per i casi di test che stai per eseguire
  3. Quindi esegui e convalida i casi di test
  4. Quindi in una fase di "smontaggio", ancora una volta tronca tutte le tabelle nel database

Non vedo nessun altro modo migliore per garantire che i dati su cui stai testando sia un buon test verificabile.

Mi manca qualcosa qui? Non è questo il modo migliore per testare la funzionalità correlata al database? C'è qualche vantaggio per avere un database pre-popolato che esiste sempre nel database (anche prima di iniziare i test o dopo che i test sono stati eseguiti)? Qualsiasi aiuto nelle idee per spiegare il mio processo in modo diverso per ottenere meglio il mio punto sarebbe fantastico (cioè se il mio punto ha merito).

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top