Приложение PyTest: как устранить предупреждение об устаревшем ярлыке приложения FastAPI?Python

Программы на Python
Ответить
Anonymous
 Приложение PyTest: как устранить предупреждение об устаревшем ярлыке приложения FastAPI?

Сообщение Anonymous »

Я пытаюсь решить проблему «один для всех», это предупреждение при выполнении тестов pytest:
/usr/local/lib/python3.11/site-packages/httpx/_client.py:680:
DeprecationWarning: The 'app' shortcut is now deprecated.
Use the explicit style 'transport=WSGITransport(app=...)' instead.
warnings.warn(message, DeprecationWarning)

Я знаю, что здесь задавался аналогичный вопрос:
Как написать тесты pytest для маршрута FastAPI, включающего внедрение зависимостей с моделями Pydantic с использованием Annotated и зависит?
Но я до сих пор не могу понять, как избежать этого предупреждения.
У меня есть эта тестовая программа Python:
@pytest.fixture
def client(app: FastAPI) -> Generator:
with TestClient(app, base_url="http://localhost") as client:
yield client

Но если я изменю это на то, что предложено в ранее упомянутой ссылке:
@pytest.fixture
def client()-> Generator:
"""Fixture to create a FastAPI test client."""
# instead of app = app, use this to avoid the DeprecationWarning:
with TestClient(transport=ASGITransport(app=app), base_url="http://localhost") as
client:
yield client

Мои тесты не могут пройти, и вместо этого у меня появляется новая ошибка:
TypeError: TestClient.__init__() got an unexpected keyword argument 'transport'


Подробнее здесь: https://stackoverflow.com/questions/786 ... ed-warning
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»