개발론
TDD in django / model test
개발자자자
2020. 11. 17. 11:42
model.py
class Diary(models.Model):
client = models.ForeignKey(settings.AUTH_USER_MODEL, related_name="+", on_delete=models.CASCADE, null=True)
title = models.CharField(max_length=100)
create_date = models.DateTimeField(auto_now_add=True, null=True)
content = models.CharField(max_length=1000)
sentiment_score = models.FloatField(verbose_name="텍스트감정분석결과", null=True)
class Meta:
verbose_name = '감정일기'
test.py
class DiaryModelTest(TestCase):
@classmethod
def setUpTestData(self):
self.user = User.objects.create(
email='super@gmail.com',
password='test',
username='강낭콩'
)
# Set up non-modified objects used by all test methods
Diary.objects.create(content='콘텐트', title='제목',client=self.user)
def test_client_is_user(self):
diary=Diary.objects.get(id=1)
client = diary._meta.get_field('client')
self.assertNotIsInstance(type(client),User)
def test_sentiment_score_label(self):
diary=Diary.objects.get(id=1)
field_label = diary._meta.get_field('sentiment_score').verbose_name
self.assertEquals(field_label, '텍스트감정분석결과')
def test_title_max_length(self):
diary = Diary.objects.get(id=1)
max_length = diary._meta.get_field('title').max_length
self.assertEquals(max_length, 100)
def test_content_max_length(self):
diary = Diary.objects.get(id=1)
max_length = diary._meta.get_field('content').max_length
self.assertEquals(max_length, 1000)
def test_diary_meta_verbose_name(self):
diary = Diary.objects.get(id=1)
self.assertEquals('감정일기', diary._meta.verbose_name)