Класс FlaskClient
Класс FlaskClient применяется для тестирования
приложения Flask. Он создаётся методом test_client
и позволяет отправлять запросы к приложению напрямую,
минуя сетевой слой. Клиент возвращает объект
TestResponse, из которого можно получить данные,
статус и заголовки ответа.
Синтаксис
client = app.test_client()
Пример
Давайте создадим тестовый клиент и отправим GET-запрос
на адрес '/':
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
client = app.test_client()
res = client.get('/')
print(res.data)
Результат выполнения кода:
b'hello'
Пример
Давайте отправим POST-запрос с данными формы:
from flask import Flask, request
app = Flask(__name__)
@app.route('/user', methods=['POST'])
def user():
name = request.form['name']
return name
client = app.test_client()
res = client.post('/user', data={'name': 'abcde'})
print(res.data)
Результат выполнения кода:
b'abcde'
Пример
Давайте передадим JSON в запросе и получим его обратно:
from flask import Flask, request
app = Flask(__name__)
@app.route('/api', methods=['POST'])
def api():
return request.get_json()
client = app.test_client()
res = client.post('/api', json={'key': 'value'})
print(res.get_json())
Результат выполнения кода:
{'key': 'value'}
Смотрите также
-
метод
get,
который отправляет GET-запрос через тестовый клиент -
метод
post,
который отправляет POST-запрос через тестовый клиент -
класс
TestResponse,
который представляет ответ тестового клиента -
атрибут
application,
который хранит приложение Flask внутри клиента