[pyar] problema con unittest + nose
Mariano Garcia Berrotarán
garcia.berrotaran en gmail.com
Mar Mayo 20 17:36:53 ART 2014
Hola!
Esquivando nose.tools podes usar unittest.TestCase.assertRaises, y
quedaria una cosa así:
def test_f(self):
self.assertRaises(common.Problemita, common.f)
2014-05-20 13:47 GMT-04:00 Matias Graña <matias.alejo en gmail.com>:
> Hola;
> tengo un problema corriendo tests que no logro entender. Paso el código,
> creo que es lo más sencillo. Son dos archivos: common.py y tests.py
>
> ----------- common.py -----------
> class Problemita(Exception):
> def __init__(self):
> super(Problemita, self).__init__()
>
> def __str__(self):
> return 'esto es un problemita'
>
>
> def f():
> raise Problemita()
>
> ----------- tets.py -----------
> from nose.tools import raises
> import unittest
>
> import common
>
> class CommonTests(unittest.TestCase):
> def setUp(self):
> reload(common)
>
> @raises(common.Problemita)
> def test_f(self):
> common.f()
>
>
> Cuando corro los tests yo espero que test_f no falle porque salta una
> excepción. Sin embargo:
>
> $ nosetests
> E
> ======================================================================
> ERROR: test_f (tests.CommonTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/usr/local/lib/python2.7/dist-packages/nose/tools/nontrivial.py",
> line 60, in newfunc
> func(*arg, **kw)
> File "...../tests.py", line 13, in test_f
> common.f()
> File "...../common.py", line 12, in f
> raise Problemita()
> Problemita: esto es un problemita
>
> ----------------------------------------------------------------------
> Ran 1 test in 0.003s
>
> FAILED (errors=1)
>
> El test deja de fallar si en lugar de @raises(common.Problemita) pongo
> @raises(Exception). También deja de fallar si no pongo el método setUp() de
> CommonTests.
> No termino de entender por qué ese reload puede estar embromando (y lo
> necesito porque tengo otros tests, que acá no pongo, que hacen mocks
> varios).
>
>
> Cualquier ayuda es bienvenida. Gracias!
> -- Matías Graña
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
--
Mariano García Berrotarán
More information about the pyar
mailing list