我创建了 4 个类(Python)的合作。
class A:
## A, B, C are nested classes of A
class B:
...
class C:
...
class D:
...
## example methods
def newB(self):
return self.B()
def newC(self):
return self.C(self.newB())
我在 4 个测试用例中编写了 60 个测试方法,这是一项艰苦的工作。
因为 B、C、D 不提供太多行为,所以应将 A、B、C、D 类子类化以添加新行为。
问题:
我写了很多测试代码来保证A、B、C、D配合正确。如果我将 A、B、C、D 子类化为 A2、B2、C2、D2,我将需要以与测试 A、B、C、D 相同的方式测试 A2、B2、C2、D2 的行为。
我该怎么做呢?
- 每次创建数据库的新子类时都将所有单元测试子类化?
- 通过方法生成测试用例和套件?
- ...
您将如何确保子类数据库正常工作并且没有错误?
给定:单元测试,数据库的类和您的子类
现在存在的测试:
class TestA(unittest.TestCase):
A = A
def setUp(self):
self.a = self.A()
def test_something(self):
...
class MockB(A.B):
...
class AWithMock(A):
B = MockB
class TestAWithMock(TestA):
A = AWithMock
def setUp(self):
self.a = self.A()
def test_something_new(self):
...
class MockB2(A.B):
...
class MockC2(A.C):
...
class MockD2(A.D):
...
class TestWithMock(unittest.TestCase):
def test_b(self):
b = MockB2()
...
def test_c(self):
...
def test_d(self):
...