[pyar] problema con unittest + nose

Matias Graña matias.alejo en gmail.com
Mie Mayo 21 15:33:18 ART 2014


2014-05-21 10:08 GMT-03:00 Daniel Moisset <dmoisset en machinalis.com>:

> El problema que tenés acá es un combinación de 2 cosas:
>  * al hacer reload, el modulo se ejecuta nuevamente, y se define una nueva
> clase de exceepcion, si bien el nombre y la definicion de la clase son
> iguales, no es la misma identidad (son gemelas en vez de ser la misma).
>  * La definición de CommonTests se evalúa una sola vez. En particular, el
> argumento del decorador @raises se evalua solo en el momento en que se
> carga tu modulo tests.py por primera vez
>

Excelente explicación! :)
Ahora ya entiendo qué pasa. Y eso me deja dos dudas nuevas
(lamentablemente, siempre cada respuesta trae dos preguntas)
*) no hay forma de hacer un reload que pise las clases viejas con las
nuevas?
*) lo que yo quiero es tener dos tests:
  test_a: testea que common.f llama a common.g
  test_b: testea que common.g devuelve algo particular.
  El test_a lo hago mockeando, common.g = mock.Mock(), llamando a common.f,
y luego testeando common.g.assert_called_with(algo)
  Para hacer el test_b necesito tener common.g de verdad, no mockeada.
  La pregunta, entonces, es: cómo hago esto sin un reload de common entre
un test y otro? Tengo que guardar al comienzo common.g y luego del test
ponerla de nuevo en su lugar? Hay una variante mejor?

Al margen de estas nuevas preguntas, gracias por la explicación!!

Matías
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140521/629f060d/attachment.html>


More information about the pyar mailing list