Тестирование
Справочник
Функциональная тестовая среда для приложений Falcon и самого Falcon.
Модуль тестирования Falcon содержит различные тестовые классы и служебные функции для поддержки функционального тестирования как для приложений, основанных на Falcon, так и для самого фреймворка Falcon.
Тестовая среда поддерживает как unittest, так и pytest:
# -----------------------------------------------------------------
# unittest
# -----------------------------------------------------------------
from falcon import testing
import myapp
class MyTestCase(testing.TestCase):
def setUp(self):
super(MyTestCase, self).setUp()
# Assume the hypothetical `myapp` package has a
# function called `create()` to initialize and
# return a `falcon.API` instance.
self.app = myapp.create()
class TestMyApp(MyTestCase):
def test_get_message(self):
doc = {u'message': u'Hello world!'}
result = self.simulate_get('/messages/42')
self.assertEqual(result.json, doc)
# -----------------------------------------------------------------
# pytest
# -----------------------------------------------------------------
from falcon import testing
import pytest
import myapp
# Depending on your testing strategy and how your application
# manages state, you may be able to broaden the fixture scope
# beyond the default 'function' scope used in this example.
@pytest.fixture()
def client():
# Assume the hypothetical `myapp` package has a function called
# `create()` to initialize and return a `falcon.API` instance.
return testing.TestClient(myapp.create())
def test_get_message(client):
doc = {u'message': u'Hello world!'}
result = client.simulate_get('/messages/42')
assert result.json == doc
-
class falcon.testing.Result(iterable, status, headers)[source] -
Оборачивает результат имитированного запроса WSGI.
Параметры: - iterable (iterable) – Итерируемый объект, возвращающий ноль или более байтовых строк, согласно PEP-3333
- status (str) – Строка HTTP-статуса, включая код статуса и строку причины
- headers (list) – Список кортежей (имя_заголовка, значение_заголовка), согласно PEP-3333
-
status -
str – Строка HTTP-статуса, предоставленная в ответе
-
status_code -
int – Кодовая часть строки HTTP-статуса
-
headers -
CaseInsensitiveDict – Словарь, нечувствительный к регистру, содержащий все заголовки в ответе, за исключением куки, которые можно получить через атрибут
cookies.Примечание
В настоящее время не поддерживаются несколько экземпляров одного заголовка в ответе; не определено, какое значение «выиграет» и будет представлено в
headers.
-
dict – Словарь значений
falcon.testing.Cookie, разобранных из ответа по имени.
-
encoding -
str – Кодировка текста тела ответа, или
Noneесли кодировка не может быть определена.
-
content -
bytes – Необработанное тело ответа, или
bytesесли тело ответа было пустым.
-
text -
str – Декодированное тело ответа типа
unicodeв Python 2.6 и 2.7, и типаstrв противном случае. Если тип содержимого не указывает кодировку, используется UTF-8.
-
json -
dict – Десериализованное тело JSON. Вызывает ошибку, если тело пустое или не является JSON.
-
class falcon.testing.Cookie(morsel)[source] -
Представляет куки, возвращенные имитированным запросом.
Параметры: morsel – Объект Morsel, из которого извлекаются данные куки.-
name -
str – Имя куки.
-
value -
str – Значение куки.
-
expires -
datetime.datetime – Метка времени истечения срока действия куки, или
Noneесли не указано.
-
path -
str – Префикс пути, к которому ограничена эта куки, или
Noneесли не указано.
-
domain -
str – Домен, к которому ограничена эта куки, или
Noneесли не указано.
-
max_age -
int – Срок службы куки в секундах, или
Noneесли не указано.
-
secure -
bool – Указывает, может ли куки передаваться только по HTTPS.
-
http_only -
bool – Указывает, может ли куки быть включена только в незапрограммированных запросах от клиента.
-
-
falcon.testing.simulate_request(app, method='GET', path='/', query_string=None, headers=None, body=None, json=None, file_wrapper=None, wsgierrors=None, params=None, params_csv=True, protocol='http')[source] -
Имитирует запрос к приложению WSGI.
Выполняет запрос к приложению WSGI. Использует
wsgiref.validateдля проверки того, что ответ является корректным WSGI.Ключевые аргументы: - app (callable) – Приложение WSGI, которое нужно вызвать
- method (str) – HTTP-метод, который нужно использовать в запросе (по умолчанию: ‘GET’)
- path (str) – Путь URL для запроса (по умолчанию: ‘/’)
- protocol – Протокол для использования в схеме URL (по умолчанию: ‘http’)
-
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
str, либо то, что может быть преобразовано вstr, или список таких значений. Еслиlist, значение будет преобразовано в строку значений, разделенных запятыми (например, ‘thing=1,2,3’). -
params_csv (bool) – Установить в
Falseдля кодирования значений списка в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделенные запятыми (например, ‘thing=1,2,3’). По умолчаниюTrue. -
query_string (str) – Необработанная строка запроса для включения в запрос (по умолчанию:
None). Если указано, переопределяетparams. -
headers (dict) – Дополнительные заголовки для включения в запрос (по умолчанию:
None) -
body (str) – Строка для отправки в качестве тела запроса. Принимает как байтовые строки, так и строки Unicode (по умолчанию:
None). Если предоставлена строка Unicode, она будет закодирована как UTF-8 в запросе. -
json (JSON serializable) – JSON-документ для сериализации в качестве тела запроса (по умолчанию:
None). Если указано, переопределяетbodyи заголовок Content-Type вheaders. -
file_wrapper (callable) – Вызываемый объект, который возвращает итерируемый объект, используемый в качестве значения для wsgi.file_wrapper в environ (по умолчанию:
None). Это можно использовать для тестирования высокопроизводительной передачи файлов, когдаresp.streamзадан как файлоподобный объект. -
wsgierrors (io) – Поток, используемый как wsgierrors (по умолчанию
sys.stderr)
Возвращает: Результат запроса
Тип возвращаемого значения:
-
falcon.testing.simulate_get(app, path, **kwargs)[source] -
Имитирует запрос GET к приложению WSGI.
Эквивалентно:
simulate_request(app, 'GET', path, **kwargs)
Параметры: Ключевые аргументы: -
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
strили то, что может быть преобразовано вstr, или список таких значений. Если значение —list, оно будет преобразовано в строку значений, разделенных запятыми (например, ‘thing=1,2,3’). -
params_csv (bool) – Установите в
Falseдля кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделенные запятыми (например, ‘thing=1,2,3’). По умолчаниюTrue. -
query_string (str) – Сырая строка запроса, которую нужно включить в запрос (по умолчанию:
None). Если указано, переопределяетparams. -
headers (dict) – Дополнительные заголовки, которые нужно включить в запрос (по умолчанию:
None) -
file_wrapper (callable) – Функция, которая возвращает итерируемый объект, используемый в качестве значения для wsgi.file_wrapper в среде (по умолчанию:
None). Это может использоваться для тестирования высокопроизводительной передачи файлов, когдаresp.streamустанавливается в объект типа файл. - protocol – Протокол, который нужно использовать для схемы URL (по умолчанию: ‘http’)
-
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
-
falcon.testing.simulate_head(app, path, **kwargs)[source] -
Имитирует запрос HEAD к приложению WSGI.
Эквивалентно:
simulate_request(app, 'HEAD', path, **kwargs)
Параметры: Ключевые аргументы: -
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
strили то, что может быть преобразовано вstr, или список таких значений. Если значение —list, оно будет преобразовано в строку значений, разделенных запятыми (например, ‘thing=1,2,3’). -
params_csv (bool) – Установите в
Falseдля кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделенные запятыми (например, ‘thing=1,2,3’). По умолчаниюTrue. -
query_string (str) – Сырая строка запроса, которую нужно включить в запрос (по умолчанию:
None). Если указано, переопределяетparams. -
headers (dict) – Дополнительные заголовки, которые нужно включить в запрос (по умолчанию:
None) - protocol – Протокол, который нужно использовать для схемы URL (по умолчанию: ‘http’)
-
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
-
falcon.testing.simulate_post(app, path, **kwargs)[source] -
Имитирует запрос POST к приложению WSGI.
Эквивалентно:
simulate_request(app, 'POST', path, **kwargs)
Параметры: Ключевые аргументы: -
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
strили то, что может быть преобразовано вstr, или список таких значений. Если значение —list, оно будет преобразовано в строку значений, разделенных запятыми (например, ‘thing=1,2,3’). -
params_csv (bool) – Установите в
Falseдля кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделенные запятыми (например, ‘thing=1,2,3’). По умолчаниюTrue. -
headers (dict) – Дополнительные заголовки, которые нужно включить в запрос (по умолчанию:
None) -
body (str) – Строка, которая будет отправлена в качестве тела запроса. Принимает как байтовые строки, так и строки Unicode (по умолчанию:
None). Если предоставлена строка Unicode, она будет закодирована в UTF-8 в запросе. -
json (JSON serializable) – JSON-документ для сериализации в качестве тела запроса (по умолчанию:
None). Если указано, переопределяетbodyи заголовок Content-Type вheaders. - protocol – Протокол, который нужно использовать для схемы URL (по умолчанию: ‘http’)
-
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
-
falcon.testing.simulate_put(app, path, **kwargs)[source] -
Имитирует запрос PUT к WSGI-приложению.
Эквивалентно:
simulate_request(app, 'PUT', path, **kwargs)
Параметры: Ключевые аргументы: -
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
strили то, что может быть преобразовано вstr, или список таких значений. Если значение —list, оно будет преобразовано в строку значений, разделённых запятыми (например, ‘thing=1,2,3’). -
params_csv (bool) – Устанавливается в
Falseдля кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделённые запятыми (например, ‘thing=1,2,3’). По умолчаниюTrue. -
headers (dict) – Дополнительные заголовки для включения в запрос (по умолчанию:
None) -
body (str) – Строка, которую нужно отправить в качестве тела запроса. Принимает как байтовые строки, так и строки Unicode (по умолчанию:
None). Если предоставлена строка Unicode, она будет закодирована как UTF-8 в запросе. -
json (JSON serializable) – JSON-документ для сериализации в качестве тела запроса (по умолчанию:
None). Если указано, переопределяетbodyи заголовок Content-Type вheaders. - protocol – Протокол для использования в схеме URL (по умолчанию: ‘http’)
-
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
-
falcon.testing.simulate_options(app, path, **kwargs)[source] -
Имитирует запрос OPTIONS к WSGI-приложению.
Эквивалентно:
simulate_request(app, 'OPTIONS', path, **kwargs)
Параметры: Ключевые аргументы: -
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
strили то, что может быть преобразовано вstr, или список таких значений. Если значение —list, оно будет преобразовано в строку значений, разделённых запятыми (например, ‘thing=1,2,3’). -
params_csv (bool) – Устанавливается в
Falseдля кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделённые запятыми (например, ‘thing=1,2,3’). По умолчаниюTrue. -
headers (dict) – Дополнительные заголовки для включения в запрос (по умолчанию:
None) - protocol – Протокол для использования в схеме URL (по умолчанию: ‘http’)
-
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
-
falcon.testing.simulate_patch(app, path, **kwargs)[source] -
Имитирует запрос PATCH к WSGI-приложению.
Эквивалентно:
simulate_request(app, 'PATCH', path, **kwargs)
Параметры: Ключевые аргументы: -
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
strили то, что может быть преобразовано вstr, или список таких значений. Если значение —list, оно будет преобразовано в строку значений, разделённых запятыми (например, ‘thing=1,2,3’). -
params_csv (bool) – Устанавливается в
Falseдля кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделённые запятыми (например, ‘thing=1,2,3’). По умолчаниюTrue. -
headers (dict) – Дополнительные заголовки для включения в запрос (по умолчанию:
None) -
body (str) – Строка, которую нужно отправить в качестве тела запроса. Принимает как байтовые строки, так и строки Unicode (по умолчанию:
None). Если предоставлена строка Unicode, она будет закодирована как UTF-8 в запросе. -
json (JSON serializable) – JSON-документ для сериализации в качестве тела запроса (по умолчанию:
None). Если указано, переопределяетbodyи заголовок Content-Type вheaders. - protocol – Протокол для использования в схеме URL (по умолчанию: ‘http’)
-
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
-
falcon.testing.simulate_delete(app, path, **kwargs)[source] -
Имитирует запрос DELETE к WSGI-приложению.
Эквивалентно:
simulate_request(app, 'DELETE', path, **kwargs)
Параметры: Ключевые аргументы: -
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
strили то, что может быть преобразовано вstr, или список таких значений. Если значение —list, оно будет преобразовано в строку значений, разделённых запятыми (например, ‘thing=1,2,3’). -
params_csv (bool) – Устанавливается в
Falseдля кодирования значений списков в параметрах строки запроса, указав несколько экземпляров параметра (например, ‘thing=1&thing=2&thing=3’). В противном случае параметры будут закодированы как значения, разделённые запятыми (например, ‘thing=1,2,3’). По умолчаниюTrue. -
headers (dict) – Дополнительные заголовки для включения в запрос (по умолчанию:
None) - protocol – Протокол для использования в схеме URL (по умолчанию: ‘http’)
-
params (dict) – Словарь параметров строки запроса, где каждый ключ — имя параметра, а каждое значение — либо
-
class falcon.testing.TestClient(app, headers=None)[source] -
Эмулирует запросы к WSGI-приложению.
Этот класс предоставляет контекстный обёртку для
simulate_*тестовых функций Falcon. Он позволяет вам заменить это:simulate_get(app, '/messages') simulate_head(app, '/messages')
на это:
client = TestClient(app) client.simulate_get('/messages') client.simulate_head('/messages')Примечание
Все методы вызывают
self.simulate_request()для удобного переопределения подготовки запросов дочерними классами.Параметры: app (callable) – WSGI-приложение, на которое нацелены эмулируемые запросы Ключевые аргументы: headers (dict) – Значения по умолчанию для заголовков, которые устанавливаются в каждом запросе (по умолчанию None). Эти значения по умолчанию можно переопределить, передав значения для тех же заголовков одному изsimulate_*()методов.-
simulate_delete(path='/', **kwargs)[source] -
Эмулирует запрос DELETE к WSGI-приложению.
(См. также:
falcon.testing.simulate_delete())
-
simulate_get(path='/', **kwargs)[source] -
Эмулирует запрос GET к WSGI-приложению.
(См. также:
falcon.testing.simulate_get())
-
simulate_head(path='/', **kwargs)[source] -
Эмулирует запрос HEAD к WSGI-приложению.
(См. также:
falcon.testing.simulate_head())
-
simulate_options(path='/', **kwargs)[source] -
Эмулирует запрос OPTIONS к WSGI-приложению.
(См. также:
falcon.testing.simulate_options())
-
simulate_patch(path='/', **kwargs)[source] -
Эмулирует запрос PATCH к WSGI-приложению.
(См. также:
falcon.testing.simulate_patch())
-
simulate_post(path='/', **kwargs)[source] -
Эмулирует запрос POST к WSGI-приложению.
(См. также:
falcon.testing.simulate_post())
-
simulate_put(path='/', **kwargs)[source] -
Эмулирует запрос PUT к WSGI-приложению.
(См. также:
falcon.testing.simulate_put())
-
simulate_request(*args, **kwargs)[source] -
Эмулирует запрос к WSGI-приложению.
Обёртка над
falcon.testing.simulate_request()для выполнения WSGI-запроса непосредственно кself.app. Эквивалентно:falcon.testing.simulate_request(self.app, *args, **kwargs)
-
-
class falcon.testing.TestCase(methodName='runTest')[source] -
Расширяет
unittestдля поддержки функционального тестирования WSGI.Примечание
Если доступно, использует
testtoolsвместоunittest.Этот базовый класс предоставляет дополнительные функции для тестовых случаев в стиле unittest, чтобы помочь эмулировать вызовы WSGI без необходимости запускать реальный веб-сервер. Различные методы эмуляции унаследованы от
falcon.testing.TestClient.Просто наследуйте от этого класса в ваших тестовых классах вместо
unittest.TestCaseилиtesttools.TestCase.-
app -
объект – WSGI-приложение, на которое нацелены эмулируемые запросы (по умолчанию:
falcon.API()). При тестировании вашего приложения вам необходимо установить его на ваш собственный экземплярfalcon.API. Например:from falcon import testing import myapp class MyTestCase(testing.TestCase): def setUp(self): super(MyTestCase, self).setUp() # Assume the hypothetical `myapp` package has a # function called `create()` to initialize and # return a `falcon.API` instance. self.app = myapp.create() class TestMyApp(MyTestCase): def test_get_message(self): doc = {u'message': u'Hello world!'} result = self.simulate_get('/messages/42') self.assertEqual(result.json, doc)
-
api -
объект – устаревшее алиас для
app
-
api_class -
callable – устаревшая переменная класса; будет удалена в будущей версии.
-
-
class falcon.testing.SimpleTestResource(status=None, body=None, json=None, headers=None)[source] -
Мок-ресурс для функционального тестирования компонентов фреймворка.
Этот класс реализует простой тестовый ресурс, который можно расширять по мере необходимости для тестирования промежуточного ПО, хуков и самого фреймворка Falcon.
Реализованы только пустые
on_get()иon_post()обработчики ответов; при переопределении этих или добавлении дополнительных обработчиков в дочерних классах, их можно декорировать хукомfalcon.testing.capture_responder_args()для захвата аргументов req, resp и params, передаваемых обработчику. Обработчики также могут быть декорированы хукомfalcon.testing.set_resp_defaults()для установки свойств resp с значениями по умолчанию status, body и header.Ключевые аргументы: - status (str) – Значение по умолчанию для строки статуса в ответах
- body (str) – Значение по умолчанию для строки тела в ответах
- json (сериализуемое JSON) – Значение по умолчанию для JSON-документа в ответах. Будет сериализовано в строку и закодировано как UTF-8. Можно указать либо json, либо body, но не оба.
- headers (dict) – Значения по умолчанию для дополнительных заголовков, которые будут включены в ответы
-
called -
bool – Вызвался ли метод req/resp.
-
captured_req -
falcon.Request – Последний объект
Request, переданный в любой из методов обработчика.
-
captured_resp -
falcon.Response – Последний объект
Response, переданный в любой из методов обработчика.
-
captured_kwargs -
dict – Последний словарь
kwargs, помимоreqиresp, переданный в любой из методов обработчика.
-
class falcon.testing.StartResponseMock[source] -
Объект-модель, представляющий вызываемый объект WSGI
start_response.-
call_count -
int – Количество вызовов
start_response.
-
status -
str – Строка HTTP-статуса, например, ‘785 TPS Cover Sheet not attached’.
-
headers -
list – Список необработанных заголовков, переданных в
start_response, в соответствии с PEP-333.
-
headers_dict -
dict – Заголовки в виде объекта, похожем на
dict, а неlist.
-
-
falcon.testing.capture_responder_args(req, resp, resource, params)[source] -
Обработчик для захвата аргументов отвечающего объекта.
Добавляет следующие атрибуты к классу ресурса обработанного объекта:
- captured_req
- captured_resp
- captured_kwargs
-
falcon.testing.rand_string(min, max)[source] -
Возвращает случайную строку случайной длины.
Параметры:
-
falcon.testing.create_environ(path='/', query_string='', protocol='HTTP/1.1', scheme='http', host='falconframework.org', port=None, headers=None, app='', body='', method='GET', wsgierrors=None, file_wrapper=None)[source] -
Создает имитационную среду PEP-333 для моделирования WSGI-запросов.
Ключевые аргументы: - path (str) – Путь для запроса (по умолчанию ‘/’)
- query_string (str) – Строка запроса для имитации без ведущего ‘?’ (по умолчанию ‘’)
- protocol (str) – Имитируемый HTTP-протокол (по умолчанию ‘HTTP/1.1’). Если установлено ‘HTTP/1.0’, заголовок Host в среду не добавляется.
- scheme (str) – Схема URL, либо ‘http’, либо ‘https’ (по умолчанию ‘http’)
- host (str) – Имя хоста для запроса (по умолчанию ‘falconframework.org’)
- port (str) – TCP-порт для имитации. По умолчанию используется стандартный порт, используемый данной схемой (т.е. 80 для ‘http’ и 443 для ‘https’).
-
headers (dict) – Заголовки в виде
dictили итерируемый объект, возвращающий (ключ, значение)tuple -
app (str) – Значение для переменной среды
SCRIPT_NAME, описанной в PEP-333: «Начальная часть пути URL-адреса запроса, соответствующая объекту приложения, таким образом, что приложение знает свое виртуальное «местоположение». Может быть пустой строкой, если приложение соответствует «корню» сервера». (по умолчанию ‘’) - body (str) – Тело запроса (по умолчанию ‘’). Принимает как байтовые строки, так и строки Юникода. Строки Юникода кодируются как UTF-8 в запросе.
- method (str) – HTTP-метод (по умолчанию ‘GET’)
-
wsgierrors (io) – Поток для использования в качестве wsgierrors (по умолчанию
sys.stderr) - file_wrapper – Вызываемый объект, возвращающий итерируемый объект, используемый как значение для wsgi.file_wrapper в среде.
-
falcon.testing.redirected(*args, **kwds)[source] -
Менеджер контекста для временного перенаправления stdout или stderr
Например:
- with redirected(stderr=os.devnull):
- …
Устаревшее
-
class falcon.testing.TestBase(methodName='runTest')[source] -
Расширяет
unittestдля поддержки функциональных тестов WSGI.Предупреждение
Этот класс устарел и будет удален в будущей версии. Используйте
TestCaseвместо него.Примечание
Если доступно, использует
testtoolsвместоunittest.Этот базовый класс предоставляет дополнительную логику для тестовых случаев в стиле unittest, чтобы помочь смоделировать вызовы WSGI без запуска фактического веб-сервера. Просто наследуйте от этого класса в ваших тестовых классах вместо
unittest.TestCaseилиtesttools.TestCase.-
api -
falcon.API – Экземпляр API, на который будут нацелены при имитации запросов. По умолчанию
falcon.API().
-
srmock -
falcon.testing.StartResponseMock – Предоставляет вызываемый объект, имитирующий поведение аргумента
start_response, который сервер обычно передаёт в приложение WSGI. Объект-модель собирает различную информацию из ответа приложения на имитируемый запрос.
-
test_route -
str – Простой сгенерированный путь, который тест может использовать для добавления маршрута к API.
-
api_class -
Псевдоним для
API
-
setUp()[source] -
Инициализатор, в стиле unittest
-
simulate_request(path, decode=None, **kwargs)[source] -
Имитирует запрос к
self.api.Параметры: path (str) – Путь для запроса.
Ключевые аргументы: -
decode (str) – Если установлено кодирование символов, например, ‘utf-8’,
simulate_requestбудет предполагать, что ответ — строка байтов и декодирует её как результат запроса, а не просто возвращает стандартную WSGI-итерируемую последовательность. -
kwargs (необязательно) – Те же, что и определённые для
falcon.testing.create_environ.
-
decode (str) – Если установлено кодирование символов, например, ‘utf-8’,
-
srmock_class -
Псевдоним для
StartResponseMock
-
tearDown()[source] -
Деструктор, в стиле unittest
-
-
class falcon.testing.TestResource[source] -
Мока ресурс для функционального тестирования.
Предупреждение
Этот класс устарел и будет удалён в будущих релизах. Используйте
SimpleTestResourceвместо него.Этот класс реализует
on_getобработчик, собирает данные запроса и устанавливает тело и заголовки ответа.Дочерние классы могут добавлять дополнительные методы и атрибуты по мере необходимости.
-
sample_status -
str – HTTP код статуса для установки в ответе
-
sample_body -
str – Случайная строка тела для установки в ответе
-
resp_headers -
dict – Пример заголовков для использования в ответе
-
req -
falcon.Request – Объект запроса, переданный в
on_getобработчик.
-
resp -
falcon.Response – Объект ответа, переданный в
on_getобработчик.
-
kwargs -
dict – Аргументы ключевых слов, переданные в
on_getобработчик, если таковые имеются.
-
called -
bool –
Trueеслиon_getбыл когда-либо вызван;Falseв противном случае.
-
on_get(req, resp, **kwargs)[source] -
Обработчик GET.
Собирает
req,resp, иkwargs. Также настраивает образец ответа.Параметры: -
req – Экземпляр Falcon
Request. -
resp – Экземпляр Falcon
Response. - kwargs – URI-шаблонные пары имя=значение, если таковые имеются, а также любые дополнительные аргументы, введённые посредниками.
-
req – Экземпляр Falcon
-
© 2012–2017 by Rackspace Hosting, Inc. and other contributors
Licensed under the Apache License, Version 2.0.
https://falcon.readthedocs.io/en/1.4.1/api/testing.html