program tip

클래스가 다른 클래스에서 상속되었는지 테스트

radiobox 2020. 11. 8. 09:45
반응형

클래스가 다른 클래스에서 상속되었는지 테스트


이 질문은 Django와 관련된 것보다 Python과 더 관련이 있습니다. 내가 설정 한 필드를 사용하여 Django 양식을 동적으로 가져 오는 데 사용하는이 함수에 대한 테스트 작성을 테스트하고 싶습니다.

def quiz_form_factory(question):
    properties = {
        'question': forms.IntegerField(widget=forms.HiddenInput, initial=question.id),
        'answers': forms.ModelChoiceField(queryset=question.answers_set)
    }
    return type('QuizForm', (forms.Form,), properties)

반환 된 QuizForm 클래스가 forms.Form에서 상속되었는지 테스트하고 싶습니다.

다음과 같은 것 :

self.assertTrue(QuizForm isinheritedfrom forms.Form)  # I know this does not exist

이것을 할 방법이 있습니까?


issubclass (myclass, parentclass) 사용하십시오 .

귀하의 경우 :

self.assertTrue( issubclass(QuizForm, forms.Form) )

이 작업을 수행하려면 issubclass다음을 사용하십시오 .

self.assertTrue(issubclass(QuizForm, forms.Form))

내장 issubclass기능을 사용하십시오 . 예 :

issubclass(QuizForm, forms.Form)

그것은 bool당신이 직접 사용할 수 있도록self.assertTrue()


issubclass(subclass,baseclass)내장 방법을 확인하십시오 . 정확히 필요한 것이어야합니다.

참고 URL : https://stackoverflow.com/questions/5628084/test-if-a-class-is-inherited-from-another

반응형