La documentation Django ( http://docs.djangoproject.com/en/1.3/topics/testing/#running-tests ) indique que vous pouvez exécuter des cas de test individuels en les spécifiant:
$ ./manage.py test animals.AnimalTestCase
Cela suppose que vous ayez vos tests dans un fichier tests.py dans votre application Django. Si cela est vrai, cette commande fonctionne comme prévu.
J'ai mes tests pour une application Django dans un répertoire de tests:
my_project/apps/my_app/
├── __init__.py
├── tests
│ ├── __init__.py
│ ├── field_tests.py
│ ├── storage_tests.py
├── urls.py
├── utils.py
└── views.py
Le tests/__init__.py
fichier a une fonction 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)
Pour exécuter les tests que je fais:
$ ./manage.py test my_app
Essayer de spécifier un cas de test individuel déclenche une exception:
$ ./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
J'ai essayé de faire ce que le message d'exception disait:
$ ./manage.py test my_app.StorageTestCase
...
ValueError: Test label 'my_app.StorageTestCase' does not refer to a test
Comment spécifier un cas de test individuel lorsque mes tests sont dans plusieurs fichiers?