2012-05-18 1 views
0

Я новичок в python и django, и я не могу понять, что я здесь делаю неправильно.Тест сбой в tests.py, но преуспеть в оболочке python

У меня есть объект сайта:

class Site (models.Model): 
    domain = models.CharField(max_length=30) 
    support_status = models.CharField(max_length=20, choices= SITE_SUPPORTED_STATUS, blank=False) 
    requests = models.IntegerField() 
    objects = SiteManager() 
    def __unicode__(self): 
     return u'%s %s' % (self.domain, self.support_status) 

и объект SiteManager

class SiteManager(models.Manager): 
    def supported_site_counts(self): 
     i = self.filter(support_status__iexact="SUPPORTED").count() 
     return i 

В консоли, метод "supported_site_counts()" работает просто отлично

>>(InteractiveConsole) 
>>> from bookmark.models import Site, SiteManager 
>>> Site.objects.supported_site_counts() 
>>>>2012-05-18 18:09:20,027 DEBUG (0.001) SELECT COUNT(*) FROM "bookmark_site" WHERE 
>>>>"bookmark_site"."support_status" LIKE SUPPORTED ESCAPE '\' ; args=(u'SUPPORTED',) 
>>>>2012-05-18 18:09:20,028 DEBUG Got 1 supported site 
>>>>1 

Но когда он вызывается из тестовой таблицы, счетчик возвращается как 0

ответ

0

Возможно, это связано с тем, что тесты будут создавать базу данных отдельно от вашей базы данных разработки для запуска тестов. Вам нужно будет поместить тестовые данные в тестовую базу данных либо программно, либо используя fixtures.

Смежные вопросы