TDD DataBase

258 views
164 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
258
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TDD DataBase

  1. 1. TDD & Applicazioni Data DrivenApplicazione Data Driven Path ben conosciuti per isolare laccesso ai dati DAO, Active Record...
  2. 2. TDD & Applicazioni Data Driven <<int> > DAO DAODB Imp
  3. 3. Come testare un DAO ?Idea Unit Test DB+DAO (in realtà Integration Test)DB in uno stato conosciutoEsecuzione “Unit Test”Verifica Nuovo stato del DB Dati selezionati dal DB
  4. 4. ProblemiProblema: DB in uno stato conosciuto ?Quando DEV1 fa girare i test DEV2 trova dati diversi ?Ma io sto usando il dump del DB di prod... dovrei cancellare tutti i dati per eseguire un test ? Come riottengo il DB con i dati di prod ?Come imposto un set di dati conosciuto ?Come verifico il contenuto di una tabella prima e
  5. 5. SoluzioniConflitto tra sviluppatori: soluzioniUn DBMS per sviluppatore DB Embedded, eseguito in locale HSQLDB, SQLITE, Derby DB DBMS come in prod anche in locale Oracle Express, MySQL, PostgreSQL, … DBMS centralizzato con un db per ogni sviluppatore MS SQL Server prod_db john_db, susy_db
  6. 6. ProblemiAccesso concorrente al DB: soluzioniUn DB per sviluppatore DB Embedded, eseguito in locale HSQLDB, SQLITE, Derby DB DBMS come in prod anche in locale Oracle Express, MySQL, PostgreSQL, … DBMS centralizzato con un db per ogni sviluppatore MS SQL Server prod_db john_db, susy_db
  7. 7. ProblemiSet up struttura DB: soluzioniScenario evolutivo Anche gli script SQL fanno parte del sorgente! Definire il DB sempre attraverso DDL DB può così essere creato automaticamenteScenario manutentivo Dump del DB di prod DDL per struttura per la creazione del DB DML per dati da eseguire ad ogni test
  8. 8. ProblemiSet up dati db: soluzioni SQL puro Esecuzione DML sul DB locale Esecuzione SQL per estrazione dati di verifca Verifica programmatica API DbUnit Dataset iniziale Confronto tra dataset
  9. 9. Lezione appresa DBE = ?DB0 DAO DB1 EsecuzioneSet Up Test Verifica

×