Проверка ошибок юнит-теста django в pdb - PullRequest
4 голосов
/ 20 марта 2012

У меня есть юнит-тест, который выдает исключение. Исключением не является мой код, оно где-то глубоко внутри django. Я хочу открыть сеанс pdb в этом месте и посмотреть, что происходит, но когда я открываю ipython с помощью pdb и run test myapp, тест запускается, выдает исключение, печатает его, но pdb ничего не перехватывает.

Полагаю, решение отчаявшегося человека состоит в том, чтобы открыть источник в django и вставить import pdb; pdb.set_trace() в то место, которое я хочу исследовать. Но должен быть лучший способ. Чего мне не хватает?

Ответы [ 2 ]

2 голосов
/ 13 июля 2012

возможно использование тестов носа для запуска ваших тестов с опцией --pdb сработает.

0 голосов
/ 21 марта 2012

Почему бы вам не поставить точку останова (import pdb; pdb.set_trace()) в своем коде и проверить процесс? Я имею в виду, что буквой 's' вы можете войти внутрь функции, чтобы вы могли углубиться до кода Django.

Я не знаю, почему вы думаете, что использование точки останова, как вы говорите, является плохим решением. Собственно, так я отлаживаю весь свой код.

Кстати: попробуйте ipdb insteand pdb. Вы будете любить это;)

...