Как перехватить трассировку стека и исключение неудачного шага

Я новичок в Behave и незнаком с его парадигмой захвата журналов.

Когда шаг завершается неудачей из-за исключения, мне нужно извлечь трассировку стека (traceback) для пользовательской обработки.

Как я могу получить эту информацию?

Спасибо!

РЕДАКТИРОВАТЬ: я не спрашиваю, как захватить ожидаемое исключение. Вместо этого я спрашиваю, как получить трассировку стека неудачного теста.

Это должно быть основной особенностью платформы Behave, которую я не могу найти в документации. Я не ищу ничего необычного.

1 ответ

Трассировка стека и исключение содержатся внутри step объект.

import traceback

if step.status == "failed":

    txt_tb = u"".join(traceback.format_tb(step.exc_traceback)
    txt_ex = step.exception.message
Другие вопросы по тегам