Как правильно сделать get запрос внутри теста flask?

Пользователь

от enid , в категории: Python , 7 месяцев назад

Как правильно сделать get запрос внутри теста flask?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от stephania , 7 месяцев назад

@enid 

Для создания GET запроса внутри теста Flask можно использовать библиотеку Flask-Testing. Вот пример того, как сделать GET запрос внутри теста:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
from flask import Flask
from flask_testing import TestCase

app = Flask(__name__)

@app.route('/example', methods=['GET'])
def example_route():
    return 'Example response'

class FlaskTest(TestCase):
    def create_app(self):
        return app

    def test_get_request(self):
        response = self.client.get('/example')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.data.decode('utf-8'), 'Example response')

if __name__ == '__main__':
    unittest.main()


В этом примере мы создаем Flask-приложение, определяем маршрут /example, который возвращает строку 'Example response' в ответ на GET запрос. Затем мы создаем класс теста, наследуемый от TestCase из flask_testing, и определяем метод create_app, который возвращает наше Flask-приложение. В методе test_get_request мы используем self.client.get для выполнения GET запроса по указанному маршруту и проверяем ожидаемый код состояния и содержимое ответа.


Не забудьте установить flask_testing, если вы еще этого не сделали:

1
pip install Flask-Testing