Pytest зависает в тестируемой базе данных

#pytest #flask-sqlalchemy

#pytest #flask-sqlalchemy

Вопрос:

Я использую Pytest для проверки подключения к базе данных, которая зависает при ее запуске:

 def test_db():
    db.create_all()
    new_comment = Comments(comment='python rocks')
    db.session.add(new_comment)
    db.session.commit()

    entry = Comments.query.all()
    assert len(entry) == 1
    db.drop_all()
 

Таблица создана успешно, но я не могу ее запустить select * from Comments; , так как она тоже зависает. Я должен убить оба окна.

Как я могу это исправить?

Ответ №1:

Этот код сделал свое дело:

 from sqlalchemy.engine.reflection import Inspector
from sqlalchemy import create_engine
   
engine = create_engine('mysql://user:password@localhost/table')
inspector = Inspector.from_engine(engine)

def test_db():
   db.create_all()
   assert inspector.get_table_names()[0] == 'comments'
   db.drop_all()
 

Комментарии:

1. Итак, вы в основном удалили фактический тест?