¿Cuál es la mejor manera de agregar casos de prueba de múltiples módulos de forma tal que una única ejecución de prueba los ejecute a todos y presente los resultados en la ventana PyDev UnitTest?Agregando múltiples casos de prueba de múltiples módulos para ejecutar en PyDev TestRunner
Respuesta
Hay muchas opciones en PyDev dependiendo de lo que desee:
Haga clic derecho en una carpeta y seleccione 'Ejecutar como> Python unidad de prueba' (se ejecutará todos los módulos por debajo de la dir como unidad- pruebas).
Haga clic derecho en múltiples módulos de python y elija 'ejecutar como> prueba de unidad Python' (cargará las pruebas para todos esos módulos y los ejecutará).
Cree un módulo que importe todas las pruebas con un nombre diferente y seleccione 'ejecutar como> prueba de unidad Python' para ese módulo.
es decir .:
from test_mod1 import Test as Test1
from test_mod2 import Test as Test2
import sys
import unittest
# add here some import paths
sys.path.append(r'..\..')
if True: #__name__ == '__main__':
try:
__file__
except NameError:
path = '.'
else:
path = os.path.split(__file__)[0]
caseset = dict()
def addSuite(suite):
for case in suite:
if isinstance(case, unittest.TestSuite):
addSuite(case)
continue
key = case.id()
if key in caseset:
## print 'in:', type(case).__name__
pass
else:
## print 'new:', type(case).__name__
caseset[key] = case
for filename in os.listdir(path): # could also be os.walk
if filename.startswith('test_'):
filepath = os.path.join(path, filename)
modname, ext = os.path.splitext(filename)
if os.path.isfile(filepath) and ext.lower() in ('py', 'pyw'):
mod = __import__(modname)
else:
try:
mod = __import__(modname)
except ImportError:
ty, er, tb = sys.exc_info()
if tb.tb_next:
traceback.print_exception(ty, er, tb)
continue
cases = unittest.defaultTestLoader.loadTestsFromModule(mod)
addSuite(cases)
l = caseset.values()
suite = unittest.TestSuite(l)
##if __name__ == '__main__':
##unittest.TextTestRunner(verbosity=1).run(suite) # run all tests
este archivo importa todos los módulos que comienzan con 'test_' en el mismo directorio y todos ellos se suma a la variable suite
.
suite
lo debe ejecutar pydev pero no puedo probarlo, no tengo pydev.
en realidad no se refieren específicamente a la gestión de PyDev. – Graeme
- 1. casos MPMoviePlayerController múltiples
- 2. proyecto y embarcadero de múltiples módulos Maven: ejecutar
- 3. ¿Existe un JUnit TestRunner para ejecutar grupos de pruebas?
- 4. GWT - ¿Múltiples módulos?
- 5. Cómo empaquetar proyectos maven de múltiples módulos con módulos anidados
- 6. agregando múltiples jPanels a jFrame
- 7. múltiples "líneas principales" en módulos OCaml vinculados
- 8. Marco de casos múltiples SharedPreferences/archivos
- 9. Agregando múltiples JProgressBar a TableColumn de JTable
- 10. ¿Qué módulos debo considerar para hacer subprocesos múltiples en Perl?
- 11. PyDev agregando pestañas para bloquear la indentación
- 12. Shell script para ejecutar procesos múltiples
- 13. Prueba de clases múltiples con PHPUnit
- 14. Symfony: múltiples aplicaciones en una prueba
- 15. Ejecutar múltiples hilos UI
- 16. ¿Cómo ejecutar todos los casos de prueba JUnit de NetBeans?
- 17. Agregando dinámicamente múltiples grupos GWT RadioButton
- 18. Uso de múltiples archivos de propiedades (a través de PropertyPlaceholderConfigurer) en múltiples proyectos/módulos
- 19. Prueba para pantallas múltiples con javascript
- 20. Cómo ejecutar casos de prueba explícitos de Nunit
- 21. Sapo para Oracle ... ¿Cómo ejecutar múltiples declaraciones?
- 22. Coincide con múltiples clases de casos en scala
- 23. estructura del repositorio git con múltiples módulos
- 24. Casos de prueba para entradas de cadena
- 25. ¿Cómo "usar" múltiples módulos con un "uso"?
- 26. Orden de MySQL por múltiples declaraciones de casos
- 27. JavaRebel con un proyecto empresarial de múltiples módulos en Maven
- 28. Consejos para crear la estructura del proyecto Maven - ¿Módulos múltiples frente a proyectos múltiples?
- 29. Posible ejecutar múltiples bucles principales?
- 30. ¿Hay alguna forma de ejecutar MySQL en memoria para los casos de prueba de JUnit?
La sugerencia n. ° 3 es exactamente lo que requiero, gracias. – Graeme
Solo para observar, si se vuelve grande, es posible que desee generar automáticamente eso con algo como cog (http://nedbatchelder.com/code/cog/) –