Ich fange an, Tests mit Flask-SQLAlchemy zu schreiben, und ich möchte einige Fixtures für diese hinzufügen. Ich habe viele gute Daten dafür in meiner Entwicklungsdatenbank und vielen Tabellen, so dass das manuelle Schreiben von Daten lästig wird. Ich möchte wirklich nur Daten aus der Dev-Datenbank in Fixtures probieren und diese dann verwenden. Was ist ein guter Weg, dies zu tun?So generieren Sie Fixtures aus der Datenbank mit SqlAlchemy
9
A
Antwort
0
Wenn Sie Leuchten mit SQLAlchemy oder einem anderen ORM/backend behandeln müssen dann kann das Fixture Paket von Nutzen sein: Flask-Fixtures 0.3.3
Das ist eine einfache Bibliothek, die Sie Datenbank Vorrichtungen für die Komponententests mit nichts hinzufügen können aber JSON oder YAML.
2
ich würde verwenden factory boy
ein Modell Fabrik erstellen Sie gerade tun:
import factory
from . import models
class UserFactory(factory.Factory):
class Meta:
model = models.User
first_name = 'John'
last_name = 'Doe'
admin = False
dann erstellen Instanzen:
UserFactory.create()
statische Daten hinzuzufügen, wie kwarg geben zu schaffen
UserFactory.create(name='hank')
also, um eine Menge Zeug zu werfen, werfen Sie das in eine for-Schleife. :)
Für Leute, die dies in der Zukunft sehen: Ich habe ein Skript geschrieben, das meine Datenbank austastet und Fixtures in eine Datei schreibt, die ich bei Bedarf einlade. Es ist einzigartig für mein Schema und definitiv nicht der beste Ansatz. Hoffentlich kommt jemand auf etwas Besseres. Ich habe auch versucht, das Fixture-Modul (http://farmdev.com/projects/fixture/) zu verwenden, hatte aber nicht viel Glück, es zum Laufen zu bringen. – Eli
Ich bin auf der Suche nach dem gleichen, würde gerne etwas finden ... – pip