2011-10-19 9 views
12

क्या Django परीक्षण आउटपुट को रंगीन करने का कोई तरीका है? मूल रूप से पास या असफल परिणामों के लिए एक लाल/ग्रीन कारक?Django परीक्षण के आउटपुट को रंगीन

मैं Terminal.app का उपयोग कर मैक ओएस एक्स पर हूं।

उत्तर

3

आप पहले से ही तैनाती के लिए कपड़ा का उपयोग कर रहे हैं, तो आप @codeinthehole's blog post से इस स्निपेट का उपयोग कर सकते हैं:

from fabric.colors import _wrap_with 

green_bg = _wrap_with('42') 
red_bg = _wrap_with('41') 

# Set the list of apps to test 
env.test_apps = "app1 app2" 

def test(): 
    with settings(warn_only=True): 
     result = local('./manage.py test %(test_apps)s --settings=settings_test -v 2 --failfast' % env, capture=False) 
    if result.failed: 
     print red_bg("Some tests failed") 
    else: 
     print green_bg("All tests passed - have a banana!") 

यह व्यक्तिगत परीक्षण आउटपुट colorise नहीं है, लेकिन यह आप तत्काल लाल/हरी देता है संतुष्टि ...

2

Print in terminal with colors using Python? पर एक नज़र डालें। आप वहां से अपना खुद का रंगीकरण संशोधित या रोल करने में सक्षम होना चाहिए।

+0

वहाँ भी एक पैकेज है कि इस काफी आसानी से बुलाया colorama (http करता है: //pypi.python।संगठन/pypi/colorama) –

1

मुझे question में pyrg नामक एक संभावित समाधान मिला। दुर्भाग्यवश, मेरे लिए अपेक्षित काम नहीं किया।

6

मैं काफी अच्छी तरह से काम करने के लिए pyrg पाया:

pyrg manage.py test 

आवश्यक आदेश पिप के साथ स्थापित किया जा सकता है:

pip install pyrg 
+1

शर्म यह पाइथन 3 के साथ काम नहीं करता है: '' – meshy

0

आप कपड़ा उपयोग नहीं कर रहे हैं, तो आप redgreenunittest पसंद कर सकते हैं। असल में, तुम सिर्फ यह उचित जगह में अपनी परियोजना (शायद अपने आभासी वातावरण में) में डाल दिया, और उसके बाद के रूप में यह संदर्भ में आपकी सेटिंग में अपने TEST_RUNNER इस तरह:

TEST_RUNNER="redgreenunittest.django.simple.RedGreenTestSuiteRunner" 

आप केवल Django के परीक्षण सहायक उपयोग कर रहे हैं कोड (ज्यादातर django.test.TestCase), तो उसे करना चाहिए। अन्यथा आप सीधे redgreenunittest संदर्भ के लिए तो जैसे आवश्यकता हो सकती है:

import redgreenunittest as unittest 

तो फिर तुम सिर्फ अपने परीक्षण चलाने के। और उनके पास रंग होंगे। जादू की तरह।

4

मुझे पता है कि यह एक पुराना सवाल है, लेकिन django-rainbowtests इसका लक्ष्य है। विफलताओं और त्रुटियां लाल हैं, सफलता हरा है, और यह आपके प्रोजेक्ट के कोड को बड़े स्टैक निशान में हाइलाइट करता है।

6

redgreenunittests सबसे सरल उपाय है और यह अजगर 3.x के साथ अच्छा काम करता है

यह

pip install redgreenunittest

settings.py

TEST_RUNNER = "redgreenunittest.django.runner.RedGreenDiscoverRunner"

में अगली पंक्ति जोड़ने स्थापित करें

और टी को मत भूलना ओ का आनंद :)

./manage test

+0

असल में पैकेज redgreenunittest है (भले ही गिट रेपो में "एस" है), तो आप 'पाइप इंस्टॉल redgreenunittest चलाने के लिए चाहते हैं '। –

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