Datenbanken in SQLAlchemy-Tests mit PostgreSQL erstellen

Ich erstelle eine Pyramid-Webanwendung, die auf SQLAlchemy aufbaut und ausschließlich PostgreSQL als Datenbank-Backend verwendet.

Was wäre eine Möglichkeit, die Unit-Test-Struktur so zu gestalten, dass

Datenbank wird einmal pro Testlauf erstellt - nicht bei jedem TestsetUp() da dies für eine komplexe Anwendung zu langsam ist

Datenbanktabellen werden so (neu) erstellt, wie sie in der Produktion erstellt würden (z. B. Migrationen von Alembic ausführen). Unreine Datenbanken werden zu Beginn des Testlaufs zerstört.

Es ist möglich, einen benutzerdefinierten Testläufer zu wählen á lapy.test Wenn bestimmte Funktionen außerhalb des unittest-Frameworks der Standardbibliothek das Schreiben von Testfällen erleichtern.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage