我不太了解您打算做什么–经验法则是“不要对测试保持精明” –只是将它们写在那儿,用普通的语言写出来。
但是要实现您想要的目标,如果您继承自unittest.TestCase,则每当调用unittest.main()时,都会执行“抽象”类-我认为这是您要避免的情况。
只需执行以下操作:创建从“对象”而不是从TestCase继承的“抽象”类。对于实际的“具体”实现,只需使用多重继承:从unittest.TestCase和抽象类继承。
import unittest
class Abstract(object):
def test_a(self):
print "Running for class", self.__class__
class Test(Abstract, unittest.TestCase):
pass
unittest.main()
:颠倒了继承顺序-Abstract
首先是这样,TestCase
默认情况下不会覆盖其定义,在下面的注释中也要指出。