Как перехватить трассировку стека и исключение неудачного шага
Я новичок в 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