2016-02-14 5 views
0

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

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

Как я могу захватить эту информацию?

Спасибо!

EDIT: Я не спрашиваю, как взять ожидается исключение. Вместо этого я спрашиваю, как взять стек из неудавшегося теста.

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

+0

Вы пробовали блок 'try'' catch'? Есть ли пример кода того, что вы хотели бы поймать? –

+0

Вы знакомы с картой Behave? Ваш комментарий кажется довольно общим. – mseery

+0

Мои знания очень ограничены рамкой, но вам также нужно написать свои собственные обертки и сделать утверждения. [link] (http://stackoverflow.com/a/27895277/1771644) [Docs] (http://jenisys.github.io/behave.example/intro.html#select-an-assiation-matcher- библиотека) –

ответ

0

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

import traceback 

if step.status == "failed": 

    txt_tb = u"".join(traceback.format_tb(step.exc_traceback) 
    txt_ex = step.exception.message 
Смежные вопросы