La documentación de Django ( http://docs.djangoproject.com/en/1.3/topics/testing/#running-tests ) dice que puede ejecutar casos de prueba individuales al especificarlos:
$ ./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 esperaba.
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 tests/__init__.py
archivo 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 genera 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
Traté de hacer lo que decía el mensaje de excepción:
$ ./manage.py test my_app.StorageTestCase
...
ValueError: Test label 'my_app.StorageTestCase' does not refer to a test
¿Cómo especifico un caso de prueba individual cuando mis pruebas están en varios archivos?