Estoy tratando de comenzar con unittest, pero tengo un problema al obtener setUpClass()
para que funcione. Aquí está mi código de prueba ...Unittest setUpClass no funciona
import unittest
class TestRepGen(unittest.TestCase):
""" Contains methods for training data testing """
testvar = None
@classmethod
def setUpClass(cls):
cls.testvar = 6
def test_method(self):
""" Ensure data is selected """
self.assertIsNotNone(self.testvar,"self.testvar is None!")
# run tests
if __name__ == '__main__':
unittest.main()
Se muestra el mensaje de error de aserción, lo que indica que self.testvar == None
, y no ha sido cambiado por setUpClass()
. ¿Hay algún problema con mi código?
Obtengo el mismo resultado si ejecuto el código desde mi IDE (Wing) o directamente desde la línea de comandos. Para el registro, estoy usando Python 3.2.1 en Windows7.
He intentado su código en Python 2.7 en Windows 7. Funciona bien, la prueba pasa. Si ejecuta _exactly_ el script anterior, ¿realmente no funciona para usted? documentos para Python 3.3 no indican ningún cambio en el comportamiento de 'setUpClass'. – agf
El código que pegó me funciona en python27 y python 3.2.1 en Windows 7. – stderr
¿Tiene alguna razón por la que está utilizando setUpClass? ¿Por qué no? simplemente use 'def setUp (self)'? – Bogdan