La documentation de Django (http://docs.djangoproject.com/en/1.3/topics/testing/#running-tests- dit que vous pouvez exécuter des cas de test en les précisant:
$ ./manage.py test animals.AnimalTestCase
Cela suppose que vous avez vos tests dans un tests.py fichier dans votre application Django. Si cela est vrai, alors cette commande fonctionne comme prévu.
J'ai mes tests pour une application Django dans un répertoire tests:
my_project/apps/my_app/
├── __init__.py
├── tests
│ ├── __init__.py
│ ├── field_tests.py
│ ├── storage_tests.py
├── urls.py
├── utils.py
└── views.py
L' tests/__init__.py
le fichier a une suite() fonction:
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
D'essayer de préciser un test individuel affaire soulève 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 de l'exception a dit:
$ ./manage.py test my_app.StorageTestCase
...
ValueError: Test label 'my_app.StorageTestCase' does not refer to a test
Comment puis-je spécifier un cas de test lors de mes tests sont en plusieurs fichiers?