Это можно сделать, добавив / отредактировав функцию suite () в tests.py, которая определяет, какие тесты будет запускать тестер django.
import unittest
import doctest
from project import views
def suite():
suite = unittest.TestSuite()
suite.addTest(doctest.DocTestSuite(views))
return suite
Тогда просто запустите свои тесты как обычно, и вы должны увидеть свои тесты в файле views.py.
$ python manage.py test project
Более подробно это описано в документации по тестированию django
Когда вы запускаете свои тесты, поведение тестовой утилиты по умолчанию состоит в том, чтобы найти все тестовые случаи (то есть подклассы unittest.TestCase) в models.py и tests.py, автоматически создать набор тестов из этих тестовые случаи и запустить этот набор.
Существует второй способ определения набора тестов для модуля: если вы определили функцию с именем suite () в любом из моделей models.py или tests.py, средство запуска тестов Django будет использовать эту функцию для создания набора тестов для этот модуль. Это следует предложенной организации для юнит-тестов. См. Документацию по Python для получения более подробной информации о том, как создать комплексный набор тестов.
Однако имейте в виду, что создание собственного набора тестов означает, что средство запуска тестов django не будет автоматически запускать какие-либо тесты, которые у вас есть в tests.py. Вам придется добавить их в свой комплект вручную, например
import unittest
import doctest
from project import views
class FooTestCase(unittest.TestCase):
def testFoo(self):
self.assertEquals('foo', 'bar')
def suite():
suite = unittest.TestSuite()
suite.addTest(doctest.DocTestSuite(views))
suite.addTest(unittest.TestLoader().loadTestsFromTestCase(FooTestCase))
return suite