मैं pytest के साथ शुरू कर रहा हूँ। मैंने pytest कॉन्फ़िगर किया है, वैसे भी मैं Django विशिष्ट परीक्षण पर pytest के साथ एक संसाधन नहीं मिला। मैं pytest_django
के साथ मॉडल का परीक्षण कैसे करूं?pytest के साथ Django मॉडल का परीक्षण कैसे करें?
मैं पहले से ही
मुझे पता है कि एक ही परीक्षण py.test साथ लिखा जा सकता है चाहता हूँ एक unittesting पर सवाल, कहा है?
मॉडल और नीचे दिए गए परीक्षणों के नीचे जोड़कर।
परीक्षण के अंतर्गत मॉडल है,
class User(AbstractBaseUser, PermissionsMixin):
username = models.CharField(max_length=25, unique=True, error_messages={
'unique': 'The username is taken'
})
first_name = models.CharField(max_length=60, blank=True, null=True)
last_name = models.CharField(max_length=60, blank=True, null=True)
email = models.EmailField(unique=True, db_index=True, error_messages={
'unique': 'This email id is already registered!'
})
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
date_joined = models.DateTimeField(auto_now_add=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username',]
objects = UserManager()
def get_full_name(self):
return ' '.join([self.first_name, self.last_name])
def get_short_name(self):
return self.email
def __unicode__(self):
return self.username
और unittest
लिखा,
class SettingsTest(TestCase):
def test_account_is_configured(self):
self.assertTrue('accounts' in INSTALLED_APPS)
self.assertTrue('accounts.User' == AUTH_USER_MODEL)
class UserTest(TestCase):
def setUp(self):
self.username = "testuser"
self.email = "[email protected]"
self.first_name = "Test"
self.last_name = "User"
self.password = "z"
self.test_user = User.objects.create_user(
username=self.username,
email=self.email,
first_name=self.first_name,
last_name=self.last_name
)
def test_create_user(self):
self.assertIsInstance(self.test_user, User)
def test_default_user_is_active(self):
self.assertTrue(self.test_user.is_active)
def test_default_user_is_staff(self):
self.assertFalse(self.test_user.is_staff)
def test_default_user_is_superuser(self):
self.assertFalse(self.test_user.is_superuser)
def test_get_full_name(self):
self.assertEqual('Test User', self.test_user.get_full_name())
def test_get_short_name(self):
self.assertEqual(self.email, self.test_user.get_short_name())
def test_unicode(self):
self.assertEqual(self.username, self.test_user.__unicode__())
किसी भी जानकारी के लिए धन्यवाद। https://pytest-django.readthedocs.org/en/latest/tutorial.html
सेटअप और pytest.ini में परिवर्तन का वर्णन यहां::