Почему я не могу запустить тест с помощью интерактивного отладчика pdb?

Как я могу перейти к работающему тесту с помощью интерактивного отладчика pdb?

Это тест:

class UserTestCase(TestCase):
  def test_register_should_create_UserProfile(self):
    c = Client()
    response = c.post('/account/register/', {u'username': [u'john'], u'email': [u'[email protected]'], u'bnewaccount': [u'Signup']})

    self.assertEqual(response.status_code, 302)
    import pdb; pdb.set_trace()
    user = User.objects.get( username ='john')
    self.assertTrue(user.get_profile())

Когда я пытаюсь запустить тесты:
$ python manage.py test

Создана тестовая база данных. Точки прогресса '.' начинают перемещаться по экрану по мере прохождения тестов. Затем прогресс останавливается.

Мне никогда не показывают подсказку pdb> в окне терминала.

Как я могу заставить pdb работать правильно?


person BryanWheelock    schedule 24.02.2010    source источник


Ответы (1)


Вы пробовали ipdb вместо vanilla pdb? Я использую ipdb, и то, что вы пытаетесь сделать, работает нормально.

В качестве альтернативы, почему бы не попробовать вызов pdb внутри тестируемого метода непосредственно перед возвратом ответа?

person Steve Jalim    schedule 24.02.2010
comment
В примере использования не должно быть никакой разницы между ipdb и pdb. Они оба должны работать нормально. Я бы начал с переноса импорта в первую строку теста, а не с переключения инструментов. Переключение инструментов может маскировать другую проблему. - person istruble; 24.02.2010