РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
275 of 307 menu

Метод get класса TestClient

Метод get применяется к экземпляру класса TestClient и выполняет GET-запрос к тестируемому приложению FastAPI. Первым параметром передаётся путь URL. Метод возвращает объект Response, из которого можно получить статус-код, JSON-ответ, заголовки и другие данные.

Синтаксис

client.get(url, params=None, headers=None, cookies=None)

Пример

Давайте создадим простое приложение и протестируем его GET-маршрут:

from fastapi import FastAPI from fastapi.testclient import TestClient app = FastAPI() @app.get('/') def index(): return {'text': 'hello'} client = TestClient(app) res = client.get('/') print(res.status_code) print(res.json())

Результат выполнения кода:

200 {'text': 'hello'}

Пример

Давайте передадим параметры запроса через аргумент params:

<+python+> from fastapi import FastAPI from fastapi.testclient import TestClient app = FastAPI() @app.get('/user') def user(name: str): return {'name': name} client = TestClient(app) res = client.get('/user', params={'name': 'abcde'}) print(res.json()) <-python+>

Результат выполнения кода:

{'name': 'abcde'}

Пример

Давайте проверим заголовки ответа и передадим собственные заголовки запроса:

from fastapi import FastAPI from fastapi.testclient import TestClient app = FastAPI() @app.get('/article') def article(): return {'title': 'article'} client = TestClient(app) res = client.get('/article', headers={'X-Token': 'abcde'}) print(res.status_code) print(res.headers['content-type']) print(res.json())

Результат выполнения кода:

200 application/json {'title': 'article'}

Смотрите также

  • класс TestClient,
    который создаёт тестовый клиент для приложения FastAPI
  • метод post,
    который выполняет POST-запрос в тестах
  • метод request,
    который выполняет запрос с произвольным HTTP-методом
  • атрибут app,
    который хранит тестируемое приложение FastAPI
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить