Структура исходного кода

main - основной модуль

import_hooks - модификаторы поведения behave

class wellbehaved.import_hooks.TemplateImportHooker(vars=None)[исходный код]

Импорт-хук, который оборачивает стандартную функцию разбора фиич и трактует каждую из них как шаблон для Jinja2.

Выполнено это через подмену функции parse_feature модуля behave.parser.

find_module(name, path=None)[исходный код]

Фильтр модулей, которые обрабатываются этим хуком.

Параметры:
  • name – Имя импортируемого модуля.
  • path – Путь к импортируемому модулю.
load_module(name)[исходный код]

Загрузчик модуля, который подменяет функцию разбора feature-файла нашей, которая предварительно преобразует её через шаблонизатор.

Параметры:name – Имя модуля, во избежание повторной обработки.

utils - вспомогательные функции

Вспомогательный класс подсистемы плагинов.

class wellbehaved.utils.StackedHookDictWrapper(*args, **kwargs)[исходный код]

Унаследованный от dict класс, “прозрачно” перехватываюиbщий установку обработчиков шагов тестирования в environment.py.

Каждый перехваченный обработчик добавляется в стэк, связанный с этим конкретным этапом тестирования и при каждом .