У меня есть несколько большой проект Django со многими видами / моделями.Я недавно перенес свой проект из sqlite3 на локальный postgres и планирую еще больше его масштабировать (поместить postgres на отдельную машину и т. Д.).
Я следовал этим инструкциям при переносе сsqlite to postgres, и, похоже, он работал отлично.(т. е. мое работающее приложение выглядит идентично тому, когда база данных была sqlite)
Моя проблема заключается в следующем: Когда я запускаю свои ранее написанные юнит-тесты, первый юнит-тест работает и все последующие юнит-тесты терпят неудачу,Индивидуально юниттесты работают нормально.Я видел других сообщений в stackoverflow, посвященных этой проблеме, но решения были настолько неясны.Как я могу переделать мои setUp()
/ teardown()
методы для моих юнит-тестов, чтобы они проходили с моей недавно перенесенной базой данных postgres?Нужно ли полностью переписывать все юнит-тесты?
Я видел библиотеку pytest-postgresql , хотя я не совсем уверен, как изменить мои юнит-тесты, основываясь на этом.
Мой набор тестов настроен на разные классы, которые тестируют представления.Например,
class View1Tests(TestCase):
def setUp(self):
c1 = Category.objects.create(id=55555, leaf_node_name="Test Category 1")
c2 = Category.objects.create(id=12345, leaf_node_name="Test Category 2")
s1 = Search.objects.create(category=c1, username="testuser")
s2 = Search.objects.create(category=c2, username="testuser2")
def test_view1_success(self):
#blablabla
def test_view1_fail(self):
#blablabla
def test_view1_something(self):
#blablabla
Я получаю такие ошибки:
appname.models.DoesNotExist: поискового совпадения не существует.
Опять же, все эти юнит-тесты работают отлично, когда sqlite3 был БД.Я думаю, что это проблема с настройками тестирования postgres?Но я в растерянности относительно того, с чего начать.Любая помощь будет оценена !!