Dokumentasi Django ( http://docs.djangoproject.com/en/1.3/topics/testing/#running-tests ) mengatakan bahwa Anda dapat menjalankan masing-masing kotak uji dengan menetapkannya:
$ ./manage.py test animals.AnimalTestCase
Ini mengasumsikan bahwa Anda memiliki tes Anda dalam file tests.py di aplikasi Django Anda. Jika ini benar, maka perintah ini berfungsi seperti yang diharapkan.
Saya memiliki tes untuk aplikasi Django di direktori tes:
my_project/apps/my_app/
├── __init__.py
├── tests
│ ├── __init__.py
│ ├── field_tests.py
│ ├── storage_tests.py
├── urls.py
├── utils.py
└── views.py
The tests/__init__.py
file memiliki suite () fungsi:
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)
Untuk menjalankan tes yang saya lakukan:
$ ./manage.py test my_app
Mencoba menentukan kasus uji individual menimbulkan pengecualian:
$ ./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
Saya mencoba melakukan apa yang dikatakan pesan pengecualian:
$ ./manage.py test my_app.StorageTestCase
...
ValueError: Test label 'my_app.StorageTestCase' does not refer to a test
Bagaimana cara menentukan kasus uji individual ketika tes saya di beberapa file?