Kapitel 9. Testen mit SQLAlchemy ORM

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Die meisten Tests innerhalb von Anwendungen bestehen sowohl aus Unit- als auch aus Funktionstests. Mit SQLAlchemy kann es jedoch viel Arbeit sein, eine Abfrageanweisung oder ein Modell für Unit-Tests korrekt zu mocken. Diese Arbeit führt oft nicht zu einem wirklichen Gewinn gegenüber dem Testen gegen eine Datenbank während des Funktionstests. Das führt dazu, dass die Leute Wrapper-Funktionen für ihre Abfragen erstellen, die sie während der Unit-Tests einfach abbilden können, oder dass sie sowohl in den Unit- als auch in den Funktionstests nur gegen eine Datenbank testen. Ich persönlich verwende gerne kleine Wrapper-Funktionen, wenn es möglich ist, oder - wenn das aus irgendeinem Grund keinen Sinn macht oder ich mich in veraltetem Code befinde - Mockout-Funktionen.

In diesem Kapitel erfährst du, wie du funktionale Tests mit einer Datenbank durchführst und wie du SQLAlchemy-Abfragen und -Verbindungen mockst.

Testen mit einer Testdatenbank

Für unsere Beispielanwendung benötigen wir eine Datei app.py, die unsere Anwendungslogik enthält, und eine Datei db.py, die unsere Datenmodelle und die Sitzung enthält. Diese Dateien findest du im Ordner CH10/ des Beispielcodes in diesem Buch.

Wie eine Anwendung strukturiert ist, ist ein Implementierungsdetail, das einen großen Einfluss darauf haben kann, wie du deine Tests durchführen ...

Get Essential SQLAlchemy, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.