Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 23, 2015 21:18:45

megoloman
Зарегистрирован: 2015-10-26
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

Тестирование модели

Здравствуйте! Помогите пожалуйста с тестированием модели.
В БД есть один объект, тестирую я его следующим образом:

tests.py:

from django.test import TestCase
from django.db.models import get_model
from django.test.client import Client
from django.core.urlresolvers import reverse


Info = get_model('contact_info', 'my_info')


class My_InfoModelTests(TestCase):

def test_str(self):
""" Info model tests """
info = Info(name='Oleg', last_name='Petrov')
self.assertEqual(str(info), 'Oleg Petrov')

def test_correct_template_render(self):
""" Test that correct template rendered """
client = Client()
response = client.get(reverse('contact_info.views.my_info_view'))
self.assertEqual(response.status_code, 200)
self.assertContains(response, '<!DOCTYPE html>')
self.assertTemplateUsed(response, 'contact_info/myview.html')
self.assertEqual(response['Content-Type'],'text/html; charset=utf-8')

Еще необходимо написать тесты для случаев когда в базе несколько объектов и когда база пустая. Для пустой базы базы я вижу такое решение:

def test_empty_My_info(self):
if len(Info.objects.all()) == 0:
print "There is no one object to test"

Непонятно, что писать для случая когда в базе несколько объектов, какая логика должна быть, что проверять?

Офлайн

#2 Дек. 24, 2015 04:47:04

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Тестирование модели

Info.objects.all().count()



Офлайн

#3 Дек. 24, 2015 12:54:25

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

Тестирование модели

FishHook
Info.objects.all().count()
Info.objects.count()
не?

megoloman
что проверять
проверять вашу бизнес логику

если у вас таковой нет, то и проверять нечего

Отредактировано ilnur (Дек. 24, 2015 12:55:32)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version