我有这样的测试:
import unittest
class TestBase(unittest.TestCase):
def setUp(self):
self.decorator = None
def testA(self):
data = someGeneratorA().generate()
self.assertTrue(self.decorator.someAction(data))
def testB(self):
data = someGeneratorB().generate()
self.assertTrue(self.decorator.someAction(data))
def testC(self):
data = someGeneratorC().generate()
self.assertTrue(self.decorator.someAction(data))
class TestCaseA(TestBase):
def setUp(self):
self.decorator = SomeDecoratorA
class TestCaseB(TestBase):
def setUp(self):
self.decorator = SomeDecoratorB
如您所见,TestCaseA和TestCaseB非常相似,所以我创建了TestBase类,它实现了testA、testB和testC方法的主体。
TestCaseA 不同于 TestCaseB 只有装饰器参数。
所以,我想问一下,有没有更好的方法来组织我的测试?而且我有问题,因为 TestBase 类 - 它是测试的 - 永远不应该运行(self.decorator是 None 所以它会引发异常)