Метод 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