La documentación de Django (http://docs.djangoproject.com/en/1.3/topics/testing/#running-tests) dice que puede ejecutar casos de prueba individuales especificándolas:Ejecución de un caso de prueba específico en Django cuando su aplicación tiene un directorio de pruebas
$ ./manage.py test animals.AnimalTestCase
Esto supone que tiene sus pruebas en un archivo tests.py en su aplicación Django. Si esto es cierto, entonces este comando funciona como se espera.
tengo mis pruebas para una aplicación Django en un directorio de pruebas:
my_project/apps/my_app/
├── __init__.py
├── tests
│ ├── __init__.py
│ ├── field_tests.py
│ ├── storage_tests.py
├── urls.py
├── utils.py
└── views.py
El archivo tests/__init__.py
tiene una función suite():
import unittest
from my_project.apps.my_app.tests import field_tests, storage_tests
def suite():
tests_loader = unittest.TestLoader().loadTestsFromModule
test_suites = []
test_suites.append(tests_loader(field_tests))
test_suites.append(tests_loader(storage_tests))
return unittest.TestSuite(test_suites)
Para ejecutar las pruebas que hago:
$ ./manage.py test my_app
Intentar especificar un caso de prueba individual plantea una excepción:
$ ./manage.py test my_app.tests.storage_tests.StorageTestCase
...
ValueError: Test label 'my_app.tests.storage_tests.StorageTestCase' should be of the form app.TestCase or app.TestCase.test_method
he tratado de hacer lo que el mensaje de excepción, dijo:
$ ./manage.py test my_app.StorageTestCase
...
ValueError: Test label 'my_app.StorageTestCase' does not refer to a test
¿Cómo se especifica un caso de prueba individual cuando mis pruebas están en varios archivos?
Gracias @sdolan. Encontró el mismo problema que hekevintran. Cambió a django-nose y solucionó ese problema, también funciona mucho mejor que el corredor de prueba predeterminado de Django. – LeeMobile
Gracias. Es algo tonto que el corredor de prueba de Django no pueda hacer esto. – hekevintran
Esto ejecuta una prueba, pero ¿cómo ejecutar un TestCase completo? – jMyles