से पाइथन/Django प्रबंधन कमांड चलाएं हमारे पास हमारे Django साइट में कमांड का एक समूह है, कुछ प्रशासनिक हैं और कुछ जो क्रॉन नौकरियों पर चलते हैं जिन्हें मैं परीक्षण नहीं कर सकता हूं। वे इस तरह काफी देखो:यूनिटटेस्ट/वेबटेस्ट
# Saved in file /app/management/commands/some_command.py
# Usage: python manage.py some_command
from django.core.management.base import NoArgsCommand
class Command(NoArgsCommand):
def handle_noargs(self, **options):
# Do something useful
और मैं कुछ परीक्षण है, जो इस तरह दिखना है:
import unittest
from django.test import TestCase
from django_webtest import WebTest
class SomeTest(WebTest):
fixtures = ['testdata.json']
def setUp(self):
self.open_in_browser = False
# Set up some objects
def test_registration(self):
response = self.client.get('/register/')
self.assertEqual(response.status_code, 200)
form = self.app.get('/register/').forms[1]
# Set up the form
response = form.submit()
self.assertContains(response, 'You are Registered.')
if self.open_in_browser:
response.showbrowser()
# Here I'd like to run some_command to see the how it affects my new user.
अपने परीक्षण में (जहाँ मैं टिप्पणी है) मैं अपने NoArgsCommand चलाना चाहते हैं यह देखने के लिए कि मेरे नए उपयोगकर्ता के साथ क्या होता है। मुझे इसे पूरा करने के तरीके पर कोई दस्तावेज या उदाहरण नहीं मिल रहा है। यह भी ध्यान रखें कि मेरा परीक्षण वातावरण एक SQLlite डीबी है जिसे मैं स्मृति में स्क्रैच से बनाता हूं, कुछ फिक्स्चर और ऑब्जेक्ट्स लोड करता हूं और अपने परीक्षण चलाता हूं, इसलिए जितना मैं एक वास्तविक डीबी में डेटा सेट करना चाहता हूं, तो बस मेरा रन चलाएं कमांड लाइन से कमांड, मैं नहीं कर सकता, यह बहुत समय लेने वाला है। किसी भी विचार की बहुत प्रशंसा की जाएगी।
RTFM, doh:
मूल रूप से आप कुछ इस तरह की जरूरत है! धन्यवाद, मुझे पता नहीं था कि यहां तक कि अस्तित्व में था। – scoopseven
हम सभी को, विशेष रूप से शुक्रवार को होता है :) और निश्चित रूप से, आपका स्वागत है! – kgr
धन्यवाद! मैं विजुअल स्टूडियो से अपना यूनिट परीक्षण चलाने की कोशिश कर रहा हूं और जब तक मैंने आपके संदर्भ लिंक का पालन नहीं किया तब तक इसे प्राप्त नहीं किया जा सका। – TurboGus