Способ вывода имени теста 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'
>>>