【问题标题】:A way to output pyunit test name in setup()一种在 setup() 中输出 pyunit 测试名称的方法
【发布时间】:2011-05-29 02:59:40
【问题描述】:

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

【问题讨论】:

    标签: python unit-testing python-unittest


    【解决方案1】:

    您可以使用self._testMethodName。这是inherited from the unittest.TestCase 父类。

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

    【讨论】:

    • 这方面的文档在哪里?
    • 没有。正如您可能从属性名称的下划线前缀中猜到的那样,这是一个不打算公开的内部属性。不过,我确实希望有一种适当的方法来做到这一点。
    【解决方案2】:
    self.id().split('.')[-1]
    

    您可以在以下位置找到文档: http://docs.python.org/library/unittest.html#unittest.TestCase.id

    编辑: 对于 2.7 用户, https://docs.python.org/2.7/library/unittest.html#unittest.TestCase.id

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-15
        • 2012-09-24
        • 1970-01-01
        • 2016-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-10
        相关资源
        最近更新 更多