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 の動作をテストする必要があります。
どうすればいいですか?
- データベースの新しいサブクラスを作成するたびに、すべての単体テストをサブクラス化しますか?
- メソッドによってテストケースとスイートを生成しますか?
- ...
サブクラス化されたデータベースが正しく機能し、間違いがないことを保証するために、どのような方法がありますか?
指定: unittests、データベースのクラス、およびサブクラス
現在存在するテスト:
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):
...