Articles of prueba de unidad de

¿Prueba de unidad de pulsaciones de tecla y salida de terminal en Python?

Si busca en Google o SO “unit test stdin stdout python” encontrará muchas preguntas, cada una de las cuales se responde de una forma u otra con ¿Realmente necesita probar por unidad los métodos incorporados de input / sys.stdin ? Mi respuesta es sí , lo hago enfáticamente, porque básicamente estoy implementando mi propia input […]

Resultado del almacenamiento en caché de setUp () usando Python unittest

Actualmente tengo un unittest.TestCase que se parece a … class test_appletrailer(unittest.TestCase): def setup(self): self.all_trailers = Trailers(res = “720”, verbose = True) def test_has_trailers(self): self.failUnless(len(self.all_trailers) > 1) # ..more tests.. Esto funciona bien, pero la llamada de Trailers() tarda aproximadamente 2 segundos en ejecutarse. Dado que se llama a setUp() antes de que se ejecute cada […]

PyUnit: ¿parar después de la primera prueba fallida?

Estoy usando el siguiente código en mi marco de prueba: testModules = [“test_foo”, “test_bar”] suite = unittest.TestLoader().loadTestsFromNames(testModules) runner = unittest.TextTestRunner(sys.stdout, verbosity=2) results = runner.run(suite) return results.wasSuccessful() ¿Hay una manera de hacer que los informes ( runner.run ?) runner.run después de la primera falla para evitar el exceso de verbosidad?

Burlándose de una variable global

He estado intentando implementar algunas pruebas unitarias para un módulo. Un módulo de ejemplo llamado alphabet.py es el siguiente: import database def length_letters(): return len(letters) def contains_letter(letter): return True if letter in letters else False letters = database.get(‘letters’) # returns a list of letters Me gustaría burlarme de la respuesta de una base de datos […]

Cómo fallar una prueba de unidad de python si el setUpClass lanza la excepción

Estoy teniendo pocos problemas con el uso de python setUpClass. Por ejemplo consideremos el siguiente caso class MyTest(unittest.case.TestCase): @classmethod def setUpClass(cls): print “Test setup” try: 1/0 except: raise @classmethod def tearDownClass(cls): print “Test teardown” Un par de preguntas ¿Es el código anterior la forma correcta de manejar las excepciones de prueba setUpClass (al elevarlo para […]

Comprobando si la función ha sido llamada varias veces con diferentes parámetros

Supongamos que tenemos una función f(x,y) y otra función def g(): # … f(i,j) # i,j vary and f is called multiple times # … Queremos escribir una prueba de unidad que verifique si f se llama el número de veces y con los parámetros correctos. def test_g(): with patch(‘mymodule.f’) as function: assert function.gacs.call_count == […]

La prueba unitaria no se está ejecutando

Me estoy atascando con algunas pruebas de unidad. Aquí está el ejemplo más simple que podría encontrar: #testito.py import unittest class Prueba(unittest.TestCase): def setUp(self): pass def printsTrue(self): self.assertTrue(True) if __name__==”__main__”: unittest.main() El problema es que ejecutar esto no tiene efecto: $ python testito.py ———————————————————————- Ran 0 tests in 0.000s OK Me estoy rascando la cabeza […]

Árbol de busqueda transversal transversales.

Estoy confundido con la recursión en los transversales del árbol binario de búsqueda, estoy perdido porque necesito devolver una lista al final y no entiendo cómo guardar los valores. Agrega valores como este que se muestran a continuación y no obtener el tipo de datos que se usa para guardar los valores así, tampoco creo […]

Python unittest – setUpClass () me está dando problemas, ¿por qué no puedo heredar así?

Tengo código de prueba de unidad como el siguiente: import unittest class MyUnitTest(unittest.TestCase): def setUpClass(self): do_something_expensive_for_all_sets_of_tests() class MyFirstSetOfTests(MyUnitTest): def setUpClass(self): super(MyFirstSetOfTests, self).setUpClass() do_something_expensive_for_just_these_first_tests() def test_one(self): … def test_two(self): … class MySecondSetOfTests(MyUnitTest): def setUpClass(self): super(MySecondSetOfTests, self).setUpClass() do_something_expensive_for_just_these_second_tests() def test_one(self): … def test_two(self): … if __name__ == ‘__main__’: unittest.main() Cuando bash ejecutar este código, aparece un error […]

Paquetes de Python?

Ok, creo que sea lo que sea que esté haciendo mal, probablemente sea cegadoramente obvio, pero no puedo resolverlo. He leído y releído la sección de tutoriales sobre paquetes y lo único que puedo entender es que esto no funcionará porque lo estoy ejecutando directamente. Aquí está la configuración del directorio: eulerproject/ __init__.py euler1.py euler2.py […]