2010-12-21 29 views
35

Pyunit测试是否有一种方法输出当前正在运行的测试。例如:在setup()中输出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)) 

回答

51

您可以使用self._testMethodName。这是从unittest.TestCase父类继承而来的。

def setUp(): 
    print "In method", self._testMethodName 
0
>>> class A: 
    pass 
>>> a = A() 
>>> a 
<__main__.A instance at 0x203cf80> 
>>> a.__class__.__name__ 
'A' 
>>> 
+1

这是类名,而不是方法的名称,再加上他试图把它放在`setUp`和`tearDown`中,而不是在方法本身中。 – 2010-12-21 23:09:52

+0

正确。需要setUp和tearDown中的方法名称。谢谢丹尼尔 – 2010-12-21 23:14:49

相关问题