2015-07-02 11 views
9

के साथ डाटाबेस से फिक्स्चर कैसे उत्पन्न करें मैं फ्लास्क-स्क्लाक्लेमी के साथ परीक्षण लिखना शुरू कर रहा हूं, और मैं उन लोगों के लिए कुछ फिक्स्चर जोड़ना चाहता हूं। मेरे विकास डेटाबेस में इसके लिए मेरे पास बहुत अच्छा डेटा है और बहुत सी टेबल इसलिए डेटा लिखने से मैन्युअल रूप से परेशान हो जाएगा। मैं वास्तव में dev डेटाबेस से डेटा को फिक्स्चर में नमूना देना चाहता हूं और फिर उन का उपयोग करना चाहता हूं। ऐसा करने का एक अच्छा तरीका क्या है?एसक्यूएलकेमी

+0

भविष्य में इसे देखने वाले लोगों के लिए: मैंने एक स्क्रिप्ट लिखना घायल किया जो मेरे डेटाबेस का नमूना लेता है और उस फ़ाइल से जुड़ने के लिए फिक्स्चर लिखता है जिसे मैं मांग में लोड करता हूं। यह मेरी स्कीमा के लिए अद्वितीय है और निश्चित रूप से सबसे अच्छा तरीका नहीं है। उम्मीद है कि कोई बेहतर कुछ के साथ आता है। मैंने स्थिरता मॉड्यूल (http://farmdev.com/projects/fixture/) का उपयोग करने की भी कोशिश की, लेकिन इसे काम करने के लिए बहुत भाग्य नहीं मिला। – Eli

+0

मैं एक ही चीज़ की तलाश में हूं, कुछ ढूंढना अच्छा लगेगा ... – pip

उत्तर

0

तो स्थिरता पैकेज काम का हो सकता है आप SQLAlchemy या किसी अन्य ORM/बैकएंड साथ जुड़नार संभाल करने की जरूरत है: Flask-Fixtures 0.3.3

एक सरल पुस्तकालय आप लेकिन कुछ भी का उपयोग कर अपने इकाई परीक्षण के लिए डेटाबेस जुड़नार जोड़ने के लिए अनुमति देता है कि जेएसओएन या वाईएएमएल।

import factory 
from . import models 

class UserFactory(factory.Factory): 
    class Meta: 
     model = models.User 

    first_name = 'John' 
    last_name = 'Doe' 
    admin = False 

तो बनाने के लिए उदाहरणों:

2

मैं factory boy

एक मॉडल कारखाना तुम सिर्फ कर बनाने के लिए प्रयोग करेंगे

UserFactory.create() 

स्थिर डेटा जोड़ने के लिए बस बनाने के लिए kwarg के रूप में देना

UserFactory.create(name='hank') 

ताकि बीज के लिए एक लूप में फेंक दिया जा सके। :)

संबंधित मुद्दे