Способ вывода имени теста pyunit в setup()

Есть ли в python способ для теста pyunit вывести тест, который он в данный момент выполняет. Пример:

def setUp(self):
    log.debug("Test %s Started" % (testname))

def test_example(self):
    #do stuff

def test_example2(self):
    #do other stuff

def tearDown(self):
    log.debug("Test %s Finished" % (testname))

4 ответа

Решение

Ты можешь использовать self._testMethodName, Это унаследовано от родительского класса unittest.TestCase.

def setUp():
    print "In method", self._testMethodName
self.id().split('.')[-1]

Документ указан по адресу http://docs.python.org/library/unittest.html, как указал Шон.

Ты можешь использоватьstr(self.id()).split()[4], Это можно найти здесь http://docs.python.org/library/unittest.html

>>> class A:
    pass
>>> a = A()
>>> a
<__main__.A instance at 0x203cf80>
>>> a.__class__.__name__
'A'
>>> 
Другие вопросы по тегам