Я пытаюсь настроить мой клиент для тестирования видов колб с помощью базы данных postgresql.Коды выглядят так:
@pytest.fixture(scope='function')
def full_client(request):
app = create_app(test_config=True)
request.getfixturevalue('postgresql')
engine = create_engine('postgresql+psycopg2://postgres:@127.0.0.1:5433/tests')
session = sessionmaker(bind=engine)
db.app = app
db.create_all()
client = app.test_client()
return client, session()
Во время тестов сессия и клиент работают правильно, но, к сожалению, независимо друг от друга.Данные хранятся в РЕАЛЬНОЙ базе данных вместо «виртуальной».
def test_if_returns_200(full_client):
response = full_client[0].get('http://0.0.0.0:4000/api/')
# Line below gives empty list -> But the view should have created that
print(full_client[1].query(Model).all())
# Part below adds row the database
article = Model(text='Some text')
full_client[1].add(article)
full_client[1].commit()
# Line belows shows that the Model instance is added
print(full_client[1].query(Model).all())
assert response.status_code == 200
Если представление возвращает 200, это просто означает, что данные модели сохранены в базе данных.Когда я пытаюсь проверить его вручную, все в порядке.
Есть предложения?
Заранее спасибо, ребята!