कैसे देखें कि कौन से परीक्षण Django के मैनेजमेन्ट टेस्ट कमांड के दौरान चलाए गए थे


80

परीक्षणों के निष्पादन के बाद Django के manage.py testआदेश का उपयोग करके समाप्त हो गई है केवल उत्तीर्ण परीक्षणों की संख्या कंसोल पर मुद्रित होती है।

(virtualenv) G:\Project\>python manage.py test
Creating test database for alias 'default'...
True
..
----------------------------------------------------------------------
Ran 2 tests in 0.017s

OK
Destroying test database for alias 'default'...

क्या देखने का कोई तरीका है:

  1. कौन से परीक्षण वास्तव में निष्पादित किए गए थे
  2. किस मॉड्यूल से
  3. किस क्रम में

मुझे डॉक्टर में कोई समाधान नहीं मिला है।

जवाबों:


128

आप कमांड -v 2को पास कर सकते हैं test:

python manage.py test -v 2

इस कमांड को चलाने के बाद आपको कुछ इस तरह मिलेगा (मैं django 2 का उपयोग कर रहा हूं, बेझिझक माइग्रेशन / डेटाबेस सामग्री का उपयोग करें):

Creating test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')...
Operations to perform:
  Synchronize unmigrated apps: messages, staticfiles
  Apply all migrations: admin, auth, contenttypes, sessions
Synchronizing apps without migrations:
  Creating tables...
   Running deferred SQL...
Running migrations:
  Applying contenttypes.0001_initial... OK
  ...
  Applying sessions.0001_initial... OK
System check identified no issues (0 silenced).
test_equal_hard (polls.tests.TestHard) ... ok      <--------+
test_equal_simple (polls.tests.TestSimple) ... ok  <--------+
                                                            |
                                                            |
           That's your tests!  >----------------------------+

वैसे, vवर्बोसिटी के लिए खड़ा है (आप भी उपयोग कर सकते हैं --verbosity=2):

python manage.py test --verbosity=2

यहाँ से अंश है python manage.py test --help:

-v {0,1,2,3}, - भिन्नता {0,1,2,3}

शब्दशः स्तर; 0 = न्यूनतम आउटपुट, 1 = सामान्य आउटपुट, 2 = वर्बोज़ आउटपुट, 3 = बहुत वर्बोज़ आउटपुट


22

निगेल का जवाब बहुत अच्छा है और निश्चित रूप से प्रवेश विकल्प के लिए सबसे कम बाधा है। हालाँकि, आप इसके साथ django_noseऔर भी बेहतर प्रतिक्रिया प्राप्त कर सकते हैं (और इसे सेटअप करना मुश्किल नहीं है ;)।

नीचे से है: पायथन के साथ बीडीडी

पहले: कुछ आवश्यकताओं को स्थापित करें:

pip install nose pinocchio django_nose

फिर निम्नलिखित को जोड़ें settings.py

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
NOSE_ARGS = ['--with-spec', '--spec-color']

फिर सामान्य के अनुसार अपने परीक्षण चलाएं:

python manage.py test

आउटपुट कुछ इस तरह दिखना चाहिए:

यहाँ छवि विवरण दर्ज करें

नोट: आपके परीक्षणों के तहत टिप्पणियों का उपयोग सिर्फ नाम से बेहतर आउटपुट देने के लिए किया जा सकता है।

उदाहरण के लिए:

def test_something(self):
    """Something should happen"""
    ...

परीक्षण चलाते समय आउटपुट "कुछ होना चाहिए" होगा।

अतिरिक्त बिंदुओं के लिए: आप अपना कोड कवरेज जनरेट / आउटपुट भी कर सकते हैं:

pip install coverage

सेटिंग में अपने NOSE_ARGS में निम्नलिखित जोड़ें: '--with-coverage', '--cover-html', '--cover-package=.', '--cover-html-dir=reports/cover'

उदाहरण के लिए:

NOSE_ARGS = ['--with-spec', '--spec-color', 
         '--with-coverage', '--cover-html', 
         '--cover-package=.', '--cover-html-dir=reports/cover']

तब आपको एक अच्छा कोड-कवरेज सारांश मिलेगा, जब आप python manage.py testएक स्वच्छ HTML रिपोर्ट चलाते हैंreports/cover


हाय @ toast38coza। यह बहुत साफ है। मैं पायथन के लिए नया हूँ और अच्छी तरह से स्वरूपित परीक्षण आउटपुट देखना अच्छा है। मैं NOSE_ARGS के लिए दस्तावेज़ीकरण की तलाश में था, लेकिन मुझे जो भी मिला उसमें से कोई भी नहीं दिखा - इसके साथ-कल्पना और समान। क्या आप मुझे उस ओर इशारा कर सकते हैं? मैं मूल रूप से नाक को "TransactionTestCase के समान" दोहराने से रोकने की कोशिश कर रहा हूं, लेकिन transaction.atomic()परीक्षण अलगाव को प्राप्त करने के लिए उपयोग करें ......... nTestCase आवश्यक हो सकता है (जैसे कुछ व्यवहार व्यवहार का परीक्षण करना)।
मकारियो ताल

@MacarioTala --with- युक्ति तर्क pinocchioप्लगइन से आता है (आप पाइप स्थापित कर सकते हैं)। देखें कि यह कहाँ कहता है: "पहले कुछ आवश्यकताओं को स्थापित करें" ऊपर।
toast38coza

हाँ। मुझे वह स्थापित हो गया है। फिर मुझे पिनोकियो पर प्रलेखन खोजने की कोशिश करें। धन्यवाद!
मकारियो ताला

1
साझा करने के हित में, मैंने पिनोचियो को स्वैप कर दिया क्योंकि यह थोड़ा TOO वर्बोज़ था, और इसे फोर्क करने के बजाय, मुझे यह मिला: gfxmonk.net/dist/0install/rednose.xml , आप इसे भी पसंद कर सकते हैं।
मकारियो ताल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.