मैं अभी भी Django 1.2.1 का उपयोग कर रहा हूं, और मुझे लगता है कि नए Django के साथ हम import unittest
नहीं करते हैं और फिर unittest.TestCase
करते हैं।django.test.TestCase बनाम unittest बनाम django.utils.unittest.TestCase
चित्रण
import unittest
class TestThis(unittest.TestCase):
from django.utils.unittest import TestCase
class TestThis(TestCase):
from django.test import TestCase
class TestThis(TestCase):
PyCon2011 talk के अनुसार, दूसरा एक थोड़ा अधिक सक्षम है।
यहाँ diagram संबंध को दर्शानेवाला है:
तो django.utils.unittest
और या तो unittest
या unittest2
से django.test
प्राप्त करती हैं।
मुझे यकीन नहीं है कि निम्नलिखित सही है या नहीं। कृपया संपादन में मदद करें।
________________________________________________________________
| Name | Django Version | Python Version |
-----------------------------------------------------------------
| unittest | >= 1.0 | >= 2.6 |
-----------------------------------------------------------------
| django.utils.unittest | >= 1.3 | ?? |
-----------------------------------------------------------------
| django.test | >= 1.0 | >= 2.6 |
| - SimpleTestCase >= 1.4 >= 2.7 |
| - LiveServerTestCase >= 1.4 >= 2.7 |
-----------------------------------------------------------------
दक्षता के मामले में, तीन में से कौन सा बेहतर है? जब वे परीक्षण करते हैं तो कई Django डेवलपर्स नकली होते हैं, इसलिए कभी-कभी डेटाबेस भी आवश्यक नहीं होता है। क्या हम manage.py test myapp.MyClass
चलाते समय टेबल बनाने नहीं बनाते हैं? पुराने संस्करण (1.3 से पहले) के लिए, कौन सा बेहतर है?
मैंने एक django ऐप बनाया है, और मेरे पास मेरी test.py फ़ाइल में है, * टेस्टकेस * से विरासत में एक उदाहरण वर्ग है और मैंने केवल * testjase * * django.test * से आयात किया है। अगर मैं * unittest.TestCase * आयात करता हूं, तो क्या यह एक संघर्ष होगा? – eLRuLL
@eLRuLL हाँ, लेकिन आप "django.test आयात टेस्टकेज़ से DjangoTestCase" या संघर्ष को हल करने के समान कुछ कर सकते हैं –
महान टिप, मुझे यह नहीं पता था। – eLRuLL