Come eseguire test automatici sul codice che modificano un DBMS (attraverso DML o DDL)?

1

Ho scritto un software come esercizio per migliorare le mie capacità e chiedo a me stesso come testare il codice che modifica un database.

Lascia il codice nel mio github: link

Qual è la tecnica migliore per eseguire test su, ad esempio, i metodi Crea e Aggiorna?

Il mio primo tentativo è stato utilizzare GetByID per testare il mio inserto, ma considerando il fatto che GetByID non è stato testato, non so se questo è un buon modo per testare.

Attualmente sto pensando di utilizzare un ORM o una libreria di terze parti per verificare se il database è stato testato come previsto. Potrei testare anche il GetByID confrontando i risultati della mia implementazione e quelli di terze parti.

Ci sono dei buoni materiali a riguardo? Qualche raccomandazione o buona struttura in Golang o anche in qualsiasi altra lingua?

Aggiornamento: beh, penso di aver bisogno di qualcosa come Java DbUNit in Go

    
posta Danilo 13.07.2016 - 00:34
fonte

1 risposta

1

La lingua è irrilevante. Tutto ciò che conta è se il tuo codice di modifica del database sia verificabile. In qualsiasi lingua è possibile accedere al database in un modo che rende difficile il test. La conoscenza del tuo particolare database si diffonde nel tuo codice (o si trova in un posto)? È difficile scambiare un database diverso? Quanto sarebbe difficile andare senza un database e lasciare che gli oggetti restino al posto del database? Gli oggetti che possono dirti ciò che hai detto loro e possono rappresentare gli altri sono chiamati mock. Fare questo in un database si chiama derisione del database.

Diversi framework e librerie possono offrire strumenti che semplificano la verifica di questo, ma COME codifichi la verificabilità del codice molto più della lingua che codifichi.

    
risposta data 13.07.2016 - 05:50
fonte

Leggi altre domande sui tag