Тестирование базы данных Flask Pytest - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь написать тест для своего приложения. Я могу проверить URL-адреса, которые не содержат ничего, связанного с БД.

@pytest.fixture
def client():
    """
    Load pytest fixture.
    :return: test_client()
    """
    # yield application.test_client()

    db_fd, application.config['DATABASE'] = tempfile.mkstemp()
    db.create_all()
    application.config['TESTING'] = True
    client = application.test_client()

    yield client

    os.unlink(application.config['DATABASE'])

мой тестовый файл:

def test_membership_register(client):
    """Test entry point of website."""
    rv = client.get('/register')

    new_user = User(
            username='test_user_1',
            email='test_email@test1.com',
            password='test1_Password',
        )

    db.session.add(new_user)
    db.session.commit()

    assert 200 == rv.status_code

ОШИБКА:

E sqlalchemy.exc.InvalidRequestError: Таблица 'members_user' уже определена для этого экземпляра MetaData. Укажите значение extension_existing = True, чтобы переопределить параметры и столбцы в существующем объекте Table.

...