2015-07-02 11 views
9

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

+0

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

+0

Ich bin auf der Suche nach dem gleichen, würde gerne etwas finden ... – pip

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. :)

Verwandte Themen