Метод get класса FlaskClient
Метод get применяется к объекту тестового клиента
FlaskClient и выполняет GET-запрос к приложению.
Первым параметром передаётся путь URL. Вторым необязательным
параметром можно передать дополнительные данные запроса.
Метод возвращает объект TestResponse, из которого
можно получить статус, заголовки и тело ответа.
Синтаксис
client.get(path, [kwargs])
Пример
Давайте создадим приложение Flask с одним маршрутом и выполним GET-запрос через тестовый клиент:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
Теперь напишем тест, в котором получим тестовый клиент
через метод test_client и вызовем метод get:
from app import app
client = app.test_client()
res = client.get('/')
print(res.status_code)
print(res.get_data(as_text=True))
Результат выполнения кода:
200
"hello"
Пример
Давайте передадим параметр name в URL и вернём его из обработчика:
from flask import Flask
app = Flask(__name__)
@app.route('/user/<name>')
def user(name):
return name
Выполним GET-запрос к адресу /user/abcde:
from app import app
client = app.test_client()
res = client.get('/user/abcde')
print(res.status_code)
print(res.get_data(as_text=True))
Результат выполнения кода:
200
"abcde"
Пример
Давайте проверим заголовок ответа и тип содержимого
через атрибуты объекта TestResponse:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
Выполним GET-запрос и выведем информацию об ответе:
from app import app
client = app.test_client()
res = client.get('/')
print(res.status)
print(res.content_type)
print(res.headers['Content-Length'])
Результат выполнения кода:
"200 OK"
"text/html; charset=utf-8"
"5"
Смотрите также
-
класс
FlaskClient,
который создаёт тестовый клиент приложения -
метод
post,
который выполняет POST-запрос в тестах -
класс
TestResponse,
который представляет ответ тестового клиента -
метод
get_data,
который возвращает тело ответа в виде байтов