Как протестировать функцию, которая читает из БД? - PullRequest
1 голос
/ 18 января 2020

У меня есть приложение Flask с функцией, которая выглядит примерно так:

def get_user(user_id):
    user = User.query.filter(id == user_id).first()
    data = user.to_dict()
    return data

Я использую Pytest и у меня есть два прибора:

@pytest.fixture(scope='module')
def test_app():
    app = create_app()
    app.config.from_object('application.config.TestingConfig')
    with app.app_context():
        yield app


@pytest.fixture(scope='module')
def test_database():
    db.create_all()
    yield db
    db.session.remove()
    db.drop_all()

В моем тесте файл, я импортирую функцию get_user (). И в тестовой функции я передаю приборы test_app и test_database.

Я успешно добавляю пользователя в тестовую базу данных, но когда я вызываю функцию, он пытается получить доступ к базе данных dev, а не к тестовой базе данных.

Я не знаю, как получить функцию для подключения к базе данных test_database. Может кто-нибудь направить меня в правильном направлении.

...