Не удается подключиться к тестовой базе данных
Я пытался создать некоторые фиктивные данные для тестирования с помощью faker. Мой тесты запущены и прошли успешно, как мы можем видеть в ss ниже, но таблица базы данных для модели автора пуста. Я предполагаю, что это может быть из-за сбоя соединения с базой данных или ошибки в коде?
Каким должен быть правильный подход для таких случаев? Какие-нибудь решения?
Мой settings.py
DATABASES={ 'default':{ 'ENGINE':'django.db.backends.postgresql', 'NAME':'postgres', 'USER':'postgres', 'PASSWORD':'welcome4321', 'HOST':'localhost', 'PORT':'5432', } }
Мой factory.py назван factoryboy.py
import factory from django.contrib.auth.models import User from faker import Faker from polls.models import Author fake = Faker() class AuthorFactory(factory.django.DjangoModelFactory): class Meta: model = Author name=fake.name()
Моя модель.py
from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0) class Author(models.Model): name=models.CharField(max_length=200) class Account: def __init__(self, username, email, date_joined): self.username = username self.email = email self.date_joined = date_joined def __str__(self): return '%s (%s)' % (self.username, self.email)
my Conftest.py
import pytest from pytest_factoryboy import register from factoryboy import AuthorFactory register(AuthorFactory)
Мой test_ex5.py
from argparse import Action from collections import UserDict from unittest.mock import Base from django.conf import UserSettingsHolder import pytest from sqlalchemy import create_engine from polls.models import Author from sqlalchemy.orm import sessionmaker from django.contrib.auth.models import User @pytest.mark.django_db def test_user(db, author_factory): user = author_factory.create() print(user.name) assert True @pytest.mark.django_db def test_my_user(db): me = Author.objects.all()[:2] print(me) return me
терминал ss: введите описание изображения здесь
Вернуться на верх