Ich versuche, meine Unit-Tests von H2 nach Postgresql zu migrieren.
Derzeit gibt mir H2 ein speicherinternes Schema, sodass jede Verbindung einem eindeutigen Schema zugeordnet ist, die Tabellen erstellt, den Test ausführt und das Schema löscht. Die Erstellung und Zerstörung des Schemas wird automatisch von H2 übernommen.
Die Komponententests werden gleichzeitig ausgeführt.
Was ist der beste Weg, dies in Postgresql zu tun? Speziell,
- Wie erhalte ich ein eindeutiges Schema pro Verbindung?
- Sollte das Testframework eindeutige Namen generieren oder gibt es dafür einen integrierten Mechanismus?
- Wie stelle ich sicher, dass das Schema getrennt wird, wenn die Verbindung getrennt wird?
- Ich möchte nicht mit baumelnden Schemata enden, wenn Unit-Tests getötet werden.
- Welcher Ansatz liefert die höchste Leistung?
- Ich muss Dutzende von Schemas pro Sekunde erstellen / löschen.
UPDATE : Ich habe hier eine verwandte Antwort gefunden, aber es werden keine Schemas gelöscht, falls der Prozess, der die Komponententests ausführt, abgebrochen wird.
pg_temp
stimmt ein einzelnes Schema? Wenn ich also gleichzeitig Unit-Tests durchführe, werden sie dann nicht die Tabellen / Daten des anderen überfrachten?