基于我有限的 Python 知识,我生成了以下代码片段:
#import statements skipped
class DTestWrapper(BaseA if inLinux else unittest.TestCase):
def setUpDTest(self):
if inLinux:
super(BaseA , self).setUpTestCase()
else:
super(unittest.TestCase, self).setUp()
def tearDownDTest(self):
if inLinux:
super(BaseA ,self).tearDownTestCase()
else:
super(unittest.TestCase,self).tearDown()
一些背景:
BaseA
是一个自定义类,用于将测试输出美化成表格。它有成员函数setUpTestCase
,tearDownTestCase
还有很多其他的。
我想做什么:
我想根据不同的平台为我自己的类调用不同的setUp
和tearDown
函数,DTestWrapper
如上面的代码所示。当它在Linux上运行时,我想使用BaseA
setUp
和tearDown
功能;否则,我想使用 python 中的函数unittest.TestCase
。我有另一个D
继承自的类DTestWrapper
,它将覆盖该setUpDTest
方法,但目前它只是空的用于测试目的。
问题:
当我运行上面的代码片段时,似乎setUp
没有setUpTestCase
调用(测试全部失败,如果调用正确,它们不应该)。我的问题是:
我怎么能调用不同setUp
的函数DTestWrapper
?这甚至可能吗?
由于我正在学习,非常感谢任何反馈。谢谢你。