장고 테스트를 만들고 반복적 인 기능을 가진 매우 유사한 모델을 가지고 있습니다. 그러나 몇 가지 차이점이 있으므로 다른 TestCase 클래스에서 상속받은 추상 BaseTestCase 클래스를 만들었습니다. BaseTestCase 클래스를 상속 한 TestCases가 테스트를 끝내면 Django는 BaseTestCase 클래스 테스트도 계속 실행한다는 사실을 제외하고는 정상적으로 작동하는 것 같습니다. 장고는 추상 BaseTestCase에서 테스트를 실행하지 않아야하지 않습니까? 이것이 일어나지 않도록하기 위해 누락 된 구성 유형이 있습니까?Abstract django.test를 멈추십시오 Test를 실행하는 TestCase 클래스
테스트 케이스 레이아웃
class BaseTestCase(SetupTestCase):
api = ""
def test_obj_list(self):
response = self.client.get(self.api)
self.assertTrue(response.status_code == 200)
def test_obj_create(self):
pass
def test_obj_retrieve(self):
pass
def test_obj_update(self):
pass
def test_obj_delete(self):
pass
class Meta:
abstract = True
class ChildTestCaseOne(BaseTestCase):
api = "/api/v0.1/path_one/"
class ChildTestCaseTwo(BaseTestCase):
api = "/api/v0.1/path_two/"
class ChildTestCaseThree(BaseTestCase):
api = "/api/v0.1/path_three/"
class ChildTestCaseFour(BaseTestCase):
api = "/api/v0.1/path_four/"
class ChildTestCaseFive(BaseTestCase):
api = "/api/v0.1/path_five/"
이 25 개 테스트, 다섯 테스트 케이스에 대한 다섯 개 가지 테스트를 실행해야하지만 각 하위 클래스에 대한 5 개 테스트를 실행 한 후에는 (30)를 실행, 그것은을위한 5 개 테스트를 실행합니다 기본 테스트 케이스.
그 덕분에 luvejo! Django의 TestCase 클래스에서 상속 받았기 때문에 테스트를 계속 실행했다는 것을 이해할 수 있습니다. 몇 일간 터널 비전을 얻었습니다 : P – JBT