««« | »»»
Test-driven design con PostgreSQL: pgTAP
Fino ad ora ho sempre testato il database attraverso un qualche strumento esterno, come i vari JUnit, TestNG o tcltest.
Sono librerie che funzionano bene e che sono familiari a chiunque pratichi un minimo di TDD ma non particolarmente tagliate per testare i database (con l’eccezione forse di TestNG, che non uso da anni): vuoi perché bisogna prevedere delle fixture elaborate che vanno poi eliminate; vuoi perché, a ben guardare, bisogna attraversare tutta una serie di strati software anche solo per verificare un constraint.
Così ho fatto una ricerca e ho trovato due utilità per PostgreSQL — pgTAP e PGUnit — che permettono di creare delle suite di test eseguite direttamente nel database.
I vantaggi sono diversi: oltre all’accesso più diretto e prestazioni presumibilmente migliori, la gestione delle fixture risulta semplificata perché basta fare il rollback alla fine dei test; inoltre, dato che in PostgreSQL i comandi DDL sono transazionali, diventa possibile testare le modifiche al database istantaneamente, senza doverlo fare in modo permanente.
Per ora ho scelto pgTAP. Mette a disposizione una serie di funzioni che possono venire molto comode per scrivere i test.
Le prime impressioni sono buone e penso che il miglioramento sarà anche più marcato quando potrò disegnare direttamente da zero uno schema in modalità TDD.
Per proseguire
Commenti e trackback sono disabilitati.
Commenti su Test-driven design con PostgreSQL: pgTAP
Una risposta
pgTAP: un esempio concreto di TDD - ReFactor.it (27/05/09)
[…] « Prec. […]