[pyar] doctest raw_input()

Claudio Freire klaussfreire en gmail.com
Vie Jul 30 15:01:29 ART 2010


2010/7/30 Facundo Batista <facundobatista en gmail.com>

> 2010/7/30 Claudio Freire <klaussfreire en gmail.com>:
>
> >> >>> e=raw_input("ingrese valor:")
> >> ingrese valor:11
> >> >>> e
> >> '11'
> >
> >
> >>>> def fake_raw_input(msg):
> > ...     print msg, '11'
> > ...     return '11'
> > ...
> >>>> __builtins__.raw_input = fake_raw_input
> >>>> e=raw_input("ingrese valor:")
> > ingrese valor:
> >>>> e
> > '11'
> >>>>
>
> No hagan eso, así nomás.
>
> Reemplazar un builtin por otra cosa y NO corregir eso después, es un
> *peligro*.
>

Estaba a punto de comentar eso.


> Hay varias formas de corregir eso, pero normalmente se complican en un
> doctest, o lo dejan hecho una porquería. Por eso le recomendaba hacer
> directamente pruebas de unidad.
>

¿ventaja del test de unidad en ese caso?

Sólo se me ocurre que garantiza un setup/teardown ordenado, donde se puede
pisar/restaurar el builtin.


> Y, en cualquier caso, es mejor pisar un atributo de la clase que un
> builtin, como recomendación general.
>

Ciertamente.

Pero, filosóficamente... ¿está bien cambiar el comportamiento de la función
a testear para hacerla testeable?
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100730/f6bfc0be/attachment.html>


More information about the pyar mailing list