РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
32 of 643 menu

Атрибут testing

Атрибут testing применяется к приложению Flask и управляет режимом тестирования. По умолчанию он равен False. Если установить значение True, то Flask будет пробрасывать исключения наружу, а не превращать их в стандартные ответы с кодом 500. Это удобно при написании тестов, так как позволяет увидеть настоящую причину ошибки. Также в режиме тестирования отключается обработка ошибок через зарегистрированные обработчики errorhandler.

Синтаксис

app.testing = True

Пример

Давайте создадим приложение и включим режим тестирования:

from flask import Flask app = Flask(__name__) app.testing = True @app.route('/') def index(): return 'hello'

Теперь значение атрибута можно проверить:

from flask import Flask app = Flask(__name__) app.testing = True print(app.testing)

Результат выполнения кода:

True

Пример

Давайте посмотрим, как режим тестирования влияет на обработку исключений. Создадим приложение с ошибкой внутри обработчика:

from flask import Flask app = Flask(__name__) app.testing = True @app.route('/') def index(): raise ValueError('abcde')

При включённом testing и вызове адреса / через тестовый клиент исключение ValueError будет проброшено наружу, а не превращено в ответ 500. Это позволяет в тестах проверить тип исключения:

from app import app client = app.test_client() try: client.get('/') except ValueError as e: print(e)

Результат выполнения кода:

"abcde"

Смотрите также

  • атрибут debug,
    который включает режим отладки приложения
  • метод test_client,
    который создаёт клиент для тестирования
  • метод test_cli_runner,
    который создаёт runner для тестирования CLI
  • класс Flask,
    который представляет приложение Flask
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить