Sto cercando di migrare i miei test unitari da H2 a Postgresql.
Attualmente, H2 mi fornisce uno schema in memoria in modo tale che ogni connessione si associ a uno schema univoco, crei le tabelle, esegua il test e rilasci lo schema. La creazione e la distruzione dello schema sono gestite automaticamente da H2.
I test unitari vengono eseguiti contemporaneamente.
Qual è il modo migliore per farlo in Postgresql? In particolare,
- Come posso ottenere uno schema univoco per connessione?
- Il framework di test dovrebbe generare nomi univoci o esiste un meccanismo integrato per farlo?
- Come posso accertarmi che lo schema venga eliminato quando viene interrotta la connessione?
- Non voglio finire con schemi penzolanti quando i test unitari vengono uccisi.
- Quale approccio produrrà le massime prestazioni?
- Devo creare / eliminare decine di schemi al secondo.
AGGIORNAMENTO : Ho trovato una risposta correlata qui ma non riesce a eliminare gli schemi nel caso in cui il processo che esegue i test unitari venga interrotto.
pg_temp
un singolo schema è giusto? Quindi, quando eseguo test unitari simultanei, non si ostruiscono l'un l'altro le tabelle / i dati?