noviembre 16, 2005

Uso de assert en un script python

Comentando esta mañana con mi compañero Julio el uso de assert dentro de scripts python, me pasaba un enlace de la lista de python en español (python-es) donde Hernán Martínez explica muy bien su uso:
El assert es una instruccion de python que te permite definir
condiciones que deban cumplirse siempre. En caso que la expresion
booleana sea True assert no hace nada y en caso de False dispara
una excepcion.

>>> assert True
>>> assert False
Traceback (most recent call last):
File "", line 1, in ?
AssertionError
>>>

Se pueden usar como pre y post condiciones en métodos, funciones,
bloques de código pero sobre todo para especificar invariantes.
Es mas corto que escribir un if, mucho mas claro para el que lo
lee y como bonus la sentencia no se ejecuta en caso que el
intérprete se invoque con -O.

Para los puristas eso último hace que el assert no sea
particularmente apto para escribir pruebas unitarias. ;)

comentarios: