зайти в интерактивную сессию, чтобы проверить не пройденный модульный тест - PullRequest
3 голосов
/ 19 августа 2010

Я бы хотел иметь возможность войти в интерактивную сессию, желательно с IPython, если не пройдёт модульный тест. Есть ли простой способ сделать это?

edit : под "интерактивным сеансом" я имею в виду полный REPL Python, а не оболочку pdb.

edit edit : Как дальнейшее объяснение: я хотел бы иметь возможность начать интерактивный сеанс, который имеет доступ к контексту, в котором произошел сбой теста. Так, например, переменная self теста будет доступна.

Ответы [ 3 ]

2 голосов
/ 19 августа 2010

В IPython используйте% pdb перед запуском теста

In [9]: %pdb
Automatic pdb calling has been turned ON
1 голос
/ 19 августа 2010

Nosetests runner предоставляет опцию --pdb, которая отправит вас в сеанс отладчика при ошибках или сбоях.

http://nose.readthedocs.org/en/latest/usage.html

0 голосов
/ 19 августа 2010

Вы действительно уверены, что хотите это сделать? Ваши юнит-тесты должны делать одно, должны быть хорошо названы и четко распечатывать то, что не удалось. Если вы сделаете все это, сообщение об ошибке определит, что пошло не так; не нужно смотреть интерактивно. Фактически, одним из больших преимуществ TDD является то, что он помогает вам вообще не заходить в отладчик для диагностики проблем.

...