私はこのようなテストをしています:
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は非常に似ているため、 testA、testB、testCメソッドの本体を実装するTestBaseクラスを作成しました。
TestCaseAは、TestCaseBのみのデコレータパラメータとは異なります。
それで、私は質問したいのですが、私のテストを整理するためのより良い方法はありますか?また、TestBaseクラス(テスト)を実行するべきではないため、問題が発生します(self.decoratorはNoneであるため、例外が発生します)