Python unittest2 -将测试方法名称暴露给设置方法



我需要从单元测试在每次测试之前运行的SetUp()方法中找到即将运行的测试方法的名称。在不单独运行每个测试方法的情况下,我如何做到这一点?

的例子:

class Testing(unittest2.TestCase):
    def setUp():
        # wish i could write:
        string = getNextTestMethodName()
    def test_example(self):
        self.assertNotEqual(0,1)

您可以使用self.shortDescription(),它将为您提供测试的名称(或与测试相关的文档字符串),甚至在setUp/tearDown方法中也是如此。

编辑:也许self.id()是足够的,它只提供测试名称(感谢@Blair)。

甚至不需要self.id():

def setUp( self ):
    logger.info( '# setUp for %s' % ( self, ))
典型输出:

# setUp for test_mainframe_has_been_constructed (__main__.BasicFunctionality_FT)

…其中"test_mainframe_has_been_construct "是方法。

所以repr( self ),大概,如果你只是想要字符串-然后切片和切片,观察方法名以左括号(或第一个空格)结束。

最新更新