unitarias tutorial the test pruebas permission got form error creating create python django unit-testing django-unittest

python - tutorial - test form django



Cómo ver qué pruebas se ejecutaron durante el comando manage.py test de Django (2)

Una vez finalizada la manage.py test comando manage.py test Django, solo se imprime en la consola el número de pruebas aprobadas.

(virtualenv) G:/Project/>python manage.py test Creating test database for alias ''default''... True .. ---------------------------------------------------------------------- Ran 2 tests in 0.017s OK Destroying test database for alias ''default''...

¿Hay alguna manera de ver:

  1. cuales pruebas fueron ejecutadas
  2. de que modulo
  3. en qué orden

No he encontrado ninguna solución en el documento.


La respuesta de Nigel es excelente y, definitivamente, la barrera más baja para la opción de entrada. Sin embargo, puede obtener comentarios aún mejores con django_nose (y no es tan difícil de configurar;).

El siguiente es de: BDD con Python

Primero: instalar algunos requisitos:

pip install nose pinocchio django_nose

Luego agrega lo siguiente a settings.py

TEST_RUNNER = ''django_nose.NoseTestSuiteRunner'' NOSE_ARGS = [''--with-spec'', ''--spec-color'']

A continuación, ejecute sus pruebas según lo normal:

python manage.py test

La salida debe verse algo como esto:

Nota: los comentarios bajo sus pruebas pueden usarse para dar un resultado aún mejor que solo el nombre.

p.ej:

def test_something(self): """Something should happen""" ...

Se emitirá "Algo debe suceder" al ejecutar la prueba.

Para puntos extra: También puede generar / generar su cobertura de código:

pip install coverage

Agregue lo siguiente a su NOSE_ARGS en settings.py: ''--with-coverage'', ''--cover-html'', ''--cover-package=.'', ''--cover-html-dir=reports/cover'' cover ''--with-coverage'', ''--cover-html'', ''--cover-package=.'', ''--cover-html-dir=reports/cover''

p.ej:

NOSE_ARGS = [''--with-spec'', ''--spec-color'', ''--with-coverage'', ''--cover-html'', ''--cover-package=.'', ''--cover-html-dir=reports/cover'']

Luego obtendrá un buen resumen de cobertura de código cuando ejecute la python manage.py test , así como un informe html limpio en reports/cover


Puede pasar -v 2 al comando de test :

python manage.py test -v 2

Después de ejecutar este comando obtendrás algo como esto (estoy usando django 2, siéntete libre de ignorar las migraciones / cosas de la base de datos):

Creating test database for alias ''default'' (''file:memorydb_default?mode=memory&cache=shared'')... Operations to perform: Synchronize unmigrated apps: messages, staticfiles Apply all migrations: admin, auth, contenttypes, sessions Synchronizing apps without migrations: Creating tables... Running deferred SQL... Running migrations: Applying contenttypes.0001_initial... OK ... Applying sessions.0001_initial... OK System check identified no issues (0 silenced). test_equal_hard (polls.tests.TestHard) ... ok <--------+ test_equal_simple (polls.tests.TestSimple) ... ok <--------+ | | That''s your tests! >----------------------------+

Por cierto, v significa verbosidad (también puedes usar --verbosity=2 ):

python manage.py test --verbosity=2

Aquí está el extracto de la python manage.py test --help :

-v {0,1,2,3}, --verbosity {0,1,2,3}

Nivel de verbosidad; 0 = salida mínima, 1 = salida normal, 2 = salida detallada, 3 = salida muy detallada