Как распечатать имя файла и номер строки теста в носу python?

Когда вы запускаете тесты в носу, я хотел бы отображать имя файла и номер строки самого теста, особенно когда он терпит неудачу, в командной строке, чтобы я мог перейти к строке в emacs. Я вставил некоторый код в case.py, чтобы распечатать имя, я вижу, что могу сделать плагин, который обрабатывает prepareTestCase, но мой вопрос: есть ли плагин, который это сделает?

вот мой код: нос/case.py:

import inspect

...

def runTest(self, result):

 ...

 if not isinstance(test,Failure):
    print("  File \"%s\", line %s\n" % (
        inspect.getsourcefile(test.test),
        inspect.getsourcelines(test.test)[1]))

person user2646177    schedule 27.09.2013    source источник


Ответы (1)


Вы можете получить имя файла теста и имя теста, просто запустив nosetest с опцией -v. Кроме того, неудачные тесты при ошибке выведут полную трассировку стека (с номерами строк). Вы также можете использовать параметры --pdb и --pdb-failure для входа в отладчик pdb сразу после ошибки или сбоя теста.

Плагин Nose-progressive имеет много наворотов с точки зрения форматирования вывода тестов, включая изменение шаблона для соответствия любому редактору. Кроме того, ознакомьтесь с этим nosemacs — расширением emacs, обеспечивающим простую интеграцию с NoseTest. А если вам нужны только номера строк, nose-machineout твой друг.

person Oleksiy    schedule 28.09.2013