Brian O'Neill
Brian O'Neill

Reputation: 690

A way to output pyunit test name in setup()

Is there a way in python for a pyunit test to output the test it's currently running. Example:

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))

Upvotes: 56

Views: 28274

Answers (3)

Tyler Hobbs
Tyler Hobbs

Reputation: 6932

You can use self._testMethodName. This is inherited from the unittest.TestCase parent class.

def setUp():
    print("In method", self._testMethodName)

Upvotes: 102

Young-hwi
Young-hwi

Reputation: 637

self.id().split('.')[-1]

You can find the Documentation at: http://docs.python.org/library/unittest.html#unittest.TestCase.id

edit: For 2.7 users, https://docs.python.org/2.7/library/unittest.html#unittest.TestCase.id

Upvotes: 20

Xiao
Xiao

Reputation: 12695

You can usestr(self.id()).split()[4]. It could be found here http://docs.python.org/library/unittest.html#unittest.TestCase.id

Upvotes: 6

Related Questions