2014-04-01 34 views
0

使用Python单元测试,这是一个测试套件的例子:Python单元测试,如何显示更好的组/测试名称?

import unittest 

# Here's our "unit". 
def IsOdd(n): 
    return n % 2 == 1 

# Here's our "unit tests". 
class IsOddTests(unittest.TestCase): 

    def testOne(self): 
     self.failUnless(IsOdd(1)) 

    def testTwo(self): 
     self.failIf(IsOdd(2)) 

def main(): 
    unittest.main(verbosity=2) 

if __name__ == '__main__': 
    main() 

而结果:

testOne (__main__.IsOddTests) ... ok 
testTwo (__main__.IsOddTests) ... ok 

---------------------------------------------------------------------- 
Ran 2 tests in 0.000s 

OK 

是否可以提高测试的显示,是这样的:

Testing ODD method 
Testing with value is 1 (__main__.IsOddTests) ... ok 
Testing with value is 2 (__main__.IsOddTests) ... ok 

---------------------------------------------------------------------- 
Ran 2 tests in 0.000s 

OK 

我想要做的是在大量测试的情况下,为每个TestCase(包含多个测试)显示一个组名称,并为每个测试(t帽子应该比功能名称更明确)。

感谢您的帮助。

回答

2

要为您的测试做这个简单的设置文档字符串:

def testOne(self): 
    """Test IsOdd(1)""" 
    self.failUnless(IsOdd(1)) 

def testTwo(self): 
    """Test IsOdd(2)""" 
    self.failIf(IsOdd(2)) 

有一点艺术的采摘文档字符串为您的测试,后来才有意义。不要害怕回头重构你的东西。

+0

对于命名我的测试以及现在我的类非常棒,我也试过了docstring,但没有任何运气。任何想法? –

+0

我不相信'unittest.py'使用来自任何地方的类的文档字符串,至少在我检查过的版本中。 (在.py文件中查找\ _ \ _ doc \ _ \ _)。 –

+0

我做了我自己的。我在每个类中添加了一个'__display__',并且在一个根类中,我查找了这个var并将其显示在'setUpClass'中;) –