基于我有限的 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?这甚至可能吗?
由于我正在学习,非常感谢任何反馈。谢谢你。