Cuando ejecuto pruebas con ./manage.py test
, todo lo que envío a la salida estándar a través de print
no se muestra. Cuando las pruebas fallan, veo un bloque "stdout" por prueba fallida, así que supongo que Django lo atrapa (pero no lo muestra cuando pasan las pruebas).¿Cómo veo stdout cuando ejecuto las pruebas de Django?
Respuesta
Controlado TEST_RUNNER
en settings.py
, está utilizando un corredor específico del proyecto que llama a Nose. nariz tiene la opción -s
para que deje de capturar stdout
, pero si me quedo:
./manage.py test -s
manage.py
capta primero y genera un error "no existe la opción". La ayuda para manage.py
no menciona esto, pero he encontrado que si corro:
./manage.py test -- -s
ignora el -s
y me permite capturarlo en el lado del corredor de encargo, de pasarla a la nariz sin ningún problema.
Como utilizo el marco contrib.sites, especifico - ajustes para mis pruebas. Cuando lo hago, -s señala las funciones como se espera, y pasa a otro - antes de que -s arroje un OSError (No hay ese archivo -s). – ken
Solo para el registro. Si tienes django_south instalado en INSTALLED_APPS __after__ django_nose, no te permitirá dar opciones para la nariz (como -s). Debes poner al sur __antes de__ django_nose en INSTALLED_APPS. Fue el problema conmigo – yakxxx
Curiosamente, esto parece funcionar para mí con 'print (...)', pero el resultado de impresión bonita con 'pprint.pprint (...) 'no aparece en la consola. –
Probablemente tenga algún corredor de prueba intermedio, como Nariz, interceptando y almacenando stdout. Pruebe ejecutando las pruebas de Django directamente, o escriba a stderr en su lugar.
Tenías razón. Ejecutar las pruebas django directamente no funciona porque hay muchas cosas de configuración que hace el corredor personalizado, pero pude rastrear el problema y solucionarlo. Ahora esta es mi primera pregunta aquí, entonces ¿está bien editar la pregunta para incluir la solución anterior? ¡Gracias! – hsribei
Lo mejor es publicar tu propia respuesta. –
Acabo de hacer. ¡Gracias! – hsribei
Sí, este problema se debe a NoseTestSuiteRunner
. Agregar -- -s
es una solución difícil pero no la mejor. Trate de añadir líneas de seguimiento en el settings.py
:
NOSE_ARGS = ['--nocapture',
'--nologcapture',]
que solucionó mis problemas.
Esta es la respuesta correcta. El método '- -s' causa efectos secundarios no deseados. – adam
El uso de versiones actuales de todos los paquetes relevantes (Django==1.11.2
, y django-nose==1.4.5
nose==1.3.7
) es suficiente añadir la bandera --nocapture
cuando se ejecuta sus pruebas. Por lo tanto, un simple
./manage.py test --nocapture
será suficiente.
Por supuesto, por supuesto, que tiene
TEST_RUNNER = "django_nose.NoseTestSuiteRunner"
en su settings.py
- 1. ¿Cómo ejecuto pruebas solo para todas mis aplicaciones de Django?
- 2. ¿Cómo ejecuto un comando en un bucle hasta que veo alguna cadena en stdout?
- 3. Creé las pruebas NUnit, ahora cómo las ejecuto?
- 4. ¿Cómo veo todos los métodos invocados cuando ejecuto mi aplicación en el simulador de iPhone?
- 5. ¿Por qué veo "definir no definido" cuando ejecuto una prueba de Mocha con RequireJS?
- 6. ¿Cómo ejecuto todas mis pruebas PHPUnit?
- 7. No veo Android SDK y AVD Manager cuando ejecuto el comando de la herramienta android
- 8. Usando Maven, ¿cómo ejecuto pruebas específicas?
- 9. Django test runner no encuentra las pruebas
- 10. ¿Cómo enviar cargas de imágenes en las pruebas de Django?
- 11. ¿Cómo deshabilitar las traducciones durante las pruebas unitarias en django?
- 12. cargando accesorios para las pruebas de django
- 13. ¿Cómo ejecuto las pruebas JUnit desde dentro de mi aplicación java?
- 14. ¿Cómo impido que Resharper ejecute mi proyecto de especificaciones cuando ejecuto todas las pruebas desde la solución?
- 15. ¿Cómo veo la barra de herramientas de depuración Django?
- 16. Django. ¿Cómo localizar pruebas lentas?
- 17. ¿Cómo veo un STDOUT de un programa en ejecución de un programa perl que lo llamó?
- 18. ¿Inhabilitar Django South cuando se ejecutan pruebas unitarias?
- 19. ¿Evita las advertencias en 404 durante las pruebas de django?
- 20. ¿Cómo ejecuto django TestCase manualmente/contra otra base de datos?
- 21. ¿Cómo ejecuto programáticamente todas las pruebas JUnit en mi aplicación Java?
- 22. Escribiendo pruebas para las acciones administrativas de Django
- 23. Django ¿Cómo veo consulta en gestionar la cáscara
- 24. Cómo configurar las variables $ _SERVER [''] cuando se ejecutan las pruebas de phpunit a través de Jenkins
- 25. ¿Puedo configurar NUnit para que Debug.Fail no muestre un cuadro de mensaje cuando ejecuto mis pruebas?
- 26. ¿Cómo se sincroniza automáticamente cuando pasan las pruebas automatizadas?
- 27. ¿Cómo me veo bajo las sábanas y veo cómo se procesa HTML?
- 28. Coloreando la salida de las pruebas de Django
- 29. ¿Cómo ejecuto Django y PHP juntos en un servidor Apache?
- 30. FileNotFoundException cuando se ejecutan las pruebas de NUnit de TeamCity
añadir opción '-s' –
Deberá marcar es el propietario responda como correcta ya que es. – Catskul