在setup()中输出pyunit测试名称的方法

Bri*_*ill 45 python unit-testing python-unittest

在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))
Run Code Online (Sandbox Code Playgroud)

Tyl*_*bbs 76

你可以用self._testMethodName.这是从unittest.TestCase父类继承的.

def setUp():
    print "In method", self._testMethodName
Run Code Online (Sandbox Code Playgroud)

  • 没有.正如您可能从属性名称的下划线前缀猜测的那样,这是一个不打算公开的内部属性.不过,我确实希望有一个正确的方法来做到这一点. (5认同)
  • 这是什么文件? (2认同)

Xia*_*iao 6

你可以用str(self.id()).split()[4].它可以在这里找到http://docs.python.org/library/unittest.html#unittest.TestCase.id