En lugar de ejecutar mis pruebas de nariz desde la línea de comandos, estoy usando un corrector de prueba que establece algunas cosas para todas las pruebas, incluida una conexión a una instancia de prueba local de MongoDB. La documentación para nose solo parece indicar cómo pasar opciones a través de la línea de comando o un archivo de configuración ubicado en su directorio de inicio. ¿Hay alguna manera de pasar opciones, como --with-xunit cuando se usa un script para ejecutar tus pruebas?Pasando opciones a la nariz en un script de prueba de Python
Respuesta
De esta manera:
import nose
argv = ['fake', '--with-xunit']
nose.main(argv=argv)
El argumento "falso" se debe agregar a sustituir al nombre del ejecutable, como se describe en la respuesta de dbw.
La nariz hace algo furtivo con el primer argumento, por lo que no se analiza. Mi envoltura de la nariz hace algo como esto:
import nose
import sys
argv = sys.argv[:]
argv.insert(1, "--with-xunit")
nose.main(argv=argv)
Como beneficio adicional, esto permite que los clientes de su programa para utilizar argumentos de la nariz para controlar su comportamiento!
Funciona. Gracias. – KobeJohn
Creo que esta es la respuesta más correcta. El punto acerca de que Nariz es astuto con el primer argumento es un punto muy importante. – munk
nose is not sneaky :) El punto es que la lista 'argv' siempre comienza con el nombre del ejecutable. Por lo tanto, cuando dices 'argv = ['--with-xunit']', estableces el nombre del ejecutable en '--with-xunit', y no pasas ningún argumento. Para arreglar esto, use 'argv = ['fake', '--with-xunit']' – Timur
- 1. Ejecutar un script de python desde otro script de python, pasando args
- 2. Pasando la matriz de python al script bash (y pasando la variable bash a la función python)
- 3. Pruebas de nariz Python omitan ciertas pruebas
- 4. ¿Puede la prueba unitaria de Python en paralelo, como la nariz?
- 5. Generadores de prueba de nariz dentro de la clase
- 6. Pasando las opciones de ssh a git clone
- 7. Pasando un puntero C con la API de Python/C
- 8. Terminar un script de python desde otro script de python
- 9. Pasando yo en un constructor en python
- 10. Prueba de script Shell
- 11. Pasando expresiones a funciones en python?
- 12. Prueba de un script de shell bash
- 13. ¿Es la nariz una extensión de unittest?
- 14. Pasando argumentos a java vm desde el script de NSIS
- 15. Pasando el valor de la secuencia de comandos PHP a la secuencia de comandos de Python
- 16. Pasar diccionarios a un script de Python a través de la línea de comando
- 17. ¿Cómo difiere la nariz de django del corredor de prueba de Django predeterminado?
- 18. ¿Llamar a exiftool desde un script python?
- 19. Nariz de Python: Log resultados de las pruebas en un archivo con complemento de multiproceso
- 20. Llamar a un script de Python desde un Applescript
- 21. Pasando variables JavaScript para Python
- 22. Conflictos entre la unidad de prueba y los marcos de nariz
- 23. Pasando el segundo argumento en adelante desde un script de shell a Java
- 24. Forzar a un script en Python para tomar la entrada de STDIN
- 25. Pasar los argumentos del script de python a los módulos de prueba
- 26. Pasando objetos a un UITypeEditor
- 27. plug-nariz por fallos esperados
- 28. Pasando las opciones de v8 para siempre con nodejs
- 29. Python: prueba de rendimiento, asegurando la limpieza
- 30. Pasando 'esto' a un evento onclick
intenté esto, pero no se está generando un informe –
@Matt: ¿Estás seguro? porque estoy usando el mismo fragmento de código en uno de mis proyectos, y acabo de cambiar ahora para generar un informe 'xunit' y fue generado con éxito bajo' nosetests.xml'! tal vez me falta algo ... – mouad
Sí, lo intenté primero y no se generó un informe. Intenté con línea de comando y obtuve uno. Lo siento: -/ –