python unittest2 - предоставление имени метода теста методу установки - PullRequest
2 голосов
/ 13 декабря 2011

Мне нужно найти имя метода теста, который должен быть запущен из метода SetUp(), который unittest запускает перед каждым тестом. Как я могу сделать это без отдельного запуска каждого метода тестирования?

Пример:

class Testing(unittest2.TestCase):
    def setUp():
        # wish i could write:
        string = getNextTestMethodName()

    def test_example(self):
        self.assertNotEqual(0,1)

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Вы можете использовать self.shortDescription () , который даст вам имя теста (или строку документации, связанную с тестом), и это, даже в методах setUp/tearDown.

РЕДАКТИРОВАТЬ: возможно self.id () достаточно, он предоставляет только имя теста (спасибо @Blair).

0 голосов
/ 03 октября 2015

даже не self.id () необходимо:

def setUp( self ):
    logger.info( '# setUp for %s' % ( self, ))

Типичный выход:

# setUp for test_mainframe_has_been_constructed (__main__.BasicFunctionality_FT)

... где «test_mainframe_has_been_constructed» - это метод.

Итак, repr( self ), предположительно, если вы просто хотите получить строку - тогда нарежьте кубиками, заметив, что имя метода заканчивается открывающей скобкой (или первым пробелом).

...