with tutorial the espaƱol applications python unit-testing

python - tutorial - the django project



Prueba si una clase se hereda de otro (4)

Esta pregunta ya tiene una respuesta aquí:

Esta pregunta está más relacionada con Python que con Django. Quiero probar escribir una prueba para esta función que estoy usando para obtener un formulario Django dinámicamente con los campos que configuré.

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)

Quiero probar si la clase QuizForm devuelta se hereda de forms.Form.

Algo como:

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

¿Hay alguna manera de hacer esto?



Todo lo que necesitas hacer es usar issubclass :

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



Use la función incorporada issubclass . p.ej

issubclass(QuizForm, forms.Form)

Devuelve un bool para que pueda usarlo directamente en self.assertTrue()