Атрибут data
Атрибут data применяется к объекту ответа TestResponse и возвращает тело ответа в виде байтовой строки (тип bytes). Этот атрибут удобно использовать, когда необходимо проверить бинарные данные или получить содержимое ответа без декодирования. Для текстового представления лучше подходит атрибут text.
Синтаксис
response.data
Пример
Давайте создадим тестовый клиент и отправим запрос к простому маршруту, возвращающему строку:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
client = app.test_client()
response = client.get('/')
res = response.data
print(res)
Результат выполнения кода:
b'hello'
Пример
Давайте проверим, что ответ содержит ожидаемые байты, с помощью сравнения:
from flask import Flask
app = Flask(__name__)
@app.route('/user')
def user():
return 'abcde'
client = app.test_client()
response = client.get('/user')
res = response.data == b'abcde'
print(res)
Результат выполнения кода:
True
Пример
Давайте получим длину тела ответа в байтах:
from flask import Flask
app = Flask(__name__)
@app.route('/article')
def article():
return 'article'
client = app.test_client()
response = client.get('/article')
res = len(response.data)
print(res)
Результат выполнения кода:
7
Смотрите также
-
класс
TestResponse,
который представляет ответ тестового клиента -
атрибут
text,
который возвращает тело ответа в виде строки -
метод
get_data,
который возвращает тело ответа в виде байтов -
атрибут
status_code,
который содержит код состояния ответа