Articles of unidad de

Ejecutando pruebas desde cover.py vs ejecutando cobertura desde un corredor de prueba

Durante el Coverage.py con Ned Batchelder python & testing podcast, Brian y Ned comentaron brevemente que, si necesita ejecutar pruebas con cobertura, es preferible ejecutar pruebas desde coverage.py ejecutando la ejecución de coverage run en lugar de invocar a un corredor de pruebas con cobertura . ¿Por qué es eso y cuál es la diferencia? […]

unittest y metaclase: prueba automática * generación de método

Cuando creo pruebas para un marco, empiezo a notar el siguiente patrón: class SomeTestCase(unittest.TestCase): def test_feat_true(self): _test_feat(self, True) def test_feat_false(self): _test_feat(self, False) def _test_feat(self, arg): pass # test logic goes here Así que quiero crear test_feat_* progtwigción métodos de test_feat_* para este tipo de clases de prueba con una metaclase. En otras palabras, para cada […]

¿Deberían las pruebas de unidad de Python estar en un módulo separado?

¿Hay un consenso sobre el mejor lugar para poner pruebas de unidad de Python? ¿Deberían incluirse las pruebas de if __name__ == ‘__main__’ dentro del mismo módulo que la funcionalidad que se está probando (ejecutarse cuando el módulo se ejecuta por sí solo ( if __name__ == ‘__main__’ , etc.)), o es mejor incluir las […]

¿Cómo cambiar el perfil de Firefox con Selenium, sin crear instancias de un nuevo controlador?

Intentando encontrar una manera de cambiar el perfil activo en un controlador de Selenium Firefox. Esta pregunta sobre varios perfiles de Firefox indica que es posible crear y usar múltiples perfiles. Sin embargo, sería mejor si hubiera alguna forma de cambiar el perfil activo de Firefox dentro de la sesión del controlador, en lugar de […]

caer en una sesión interactiva para examinar una prueba de unidad fallida

Me gustaría poder ingresar a una sesión interactiva, preferiblemente con IPython, si falla una prueba de unidad. ¿Hay una forma fácil de hacer esto? edición : por “sesión interactiva” me refiero a un REPL de Python completo en lugar de a una shell pdb. editar editar : Como explicación adicional: me gustaría poder iniciar una […]

En Python, ¿cuál es un buen patrón para deshabilitar cierto código durante las pruebas unitarias?

En general, quiero desactivar el menor código posible, y quiero que sea explícito: no quiero que el código que se está probando decida si es una prueba o no, quiero que la prueba diga ese código “hey, BTW , Estoy haciendo una prueba de unidad, ¿puede por favor no hacer su llamada a solr, en […]

¿Qué números puede pasar como verbosidad en la ejecución de los conjuntos de pruebas unitarias de Python?

El framework unittest de Python tiene un concepto de verbosidad que parece que no puedo encontrar definido en ninguna parte. Por ejemplo, estoy ejecutando casos de prueba como este ( como en la documentación ): suite = unittest.TestLoader().loadTestsFromTestCase(MyAwesomeTest) unittest.TextTestRunner(verbosity=2).run(suite) El único número que he visto pasar como verbosidad es 2. ¿Qué es este número mágico, […]

Excluyendo directorio, módulo en python nosetest

Usamos la nariz para descubrir pruebas y ejecutarlas. Todas las pruebas están escritas de TestCase compatible con TestCase para que cualquier corredor de prueba pueda ejecutar. El problema es que tenemos algunos directorios que no tienen ninguna prueba. Pero el corredor de pruebas sigue descubriendo la prueba desde allí. Si uno de esos directorios tiene […]

Cómo parchar una constante en python

Tengo dos módulos diferentes en mi proyecto. Uno es un archivo de configuración que contiene LOGGING_ACTIVATED = False Esta constante se usa en el segundo módulo (llamémoslo main) como lo siguiente: if LOGGING_ACTIVATED: amqp_connector = Connector() En mi clase de prueba para el módulo principal me gustaría parchear esta constante con el valor True Desafortunadamente […]

Python unittest: invoca unittest.main () con un TestSuite personalizado

Estoy haciendo pruebas de unidad con python. No estoy usando ningún descubrimiento de prueba automático. Estoy ensamblando TestCases en un TestSuite manualmente. Puedo ejecutar estas pruebas con unittest.TextTestRunner().run(suite) , me gustaría ejecutarlas con unittest.main() para poder usar las opciones de la línea de comandos (como -v / –failfast ). La documentación dice que unittest.main() puede […]