[pyar] problema con unittest + nose

Matias Graña matias.alejo en gmail.com
Mar Mayo 20 14:47:47 ART 2014


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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140520/40d2ea70/attachment.html>


More information about the pyar mailing list