Solo soy un principiante en Python y la programación en general, y tengo algunas preguntas sobre el módulo unittest.Pruebas unitarias para excepciones en el constructor Python
Tengo una clase, y en el método __init__
estoy haciendo algunas afirmaciones para comprobar si hay malos argumentos. Me gustaría crear una prueba unitaria que compruebe tal AsertiónError al crear nuevas instancias.
En el módulo unittest, se puede realizar una prueba (con assertRaises
) para excepciones específicas cuando se llama a un llamante, pero obviamente eso se aplicará a los métodos de la clase. ¿Cuál es la forma correcta de ejecutar dicha prueba para el constructor?
Sé que puedo intentar crear una instancia de la clase con argumentos incorrectos, y unittest informará una falla de prueba, pero que se detiene inmediatamente después de la primera excepción, e incluso si puedo envolver varias pruebas en múltiples funciones de prueba, simplemente no parece elegante en absoluto.
Bueno, en mi caso particular, me gustaría afirmar que algo ha ido mal desde el principio, ya que más tarde cargué algunas bibliotecas C con ctypes y tengo que pasarles los argumentos del constructor ... –
@asen_asenov: En ese caso , solo envuelva su llamada ctypes con la transformación adecuada, por ejemplo ctypes.c_int (param). Eso asegurará que el tipo sea compatible y generará un error para usted en tipos incompatibles automáticamente; – nosklo