Django文檔(http://docs.djangoproject.com/en/1.3/topics/testing/#running-tests)說,你可以通過指定他們單獨運行測試用例:運行在Django特定的測試情況下,當你的應用程序有一個測試目錄
$ ./manage.py test animals.AnimalTestCase
這是假設你有你的測試中Django應用程序中的tests.py文件。如果這是真的,那麼這個命令就像預期的那樣工作。
我有我的一個測試目錄Django應用程序測試:
my_project/apps/my_app/
├── __init__.py
├── tests
│ ├── __init__.py
│ ├── field_tests.py
│ ├── storage_tests.py
├── urls.py
├── utils.py
└── views.py
的tests/__init__.py
文件有一套()函數:
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)
要運行我做了測試:
$ ./manage.py test my_app
試圖指定單個測試用例引發異常:
$ ./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
我試圖做什麼異常消息說:
$ ./manage.py test my_app.StorageTestCase
...
ValueError: Test label 'my_app.StorageTestCase' does not refer to a test
如何指定單獨的測試情況下,當我的測試是在多個文件?
感謝@sdolan。遇到與hekevintran相同的問題。切換到Django的鼻子,它解決了這個問題,也比默認的Django測試運行器更好。 – LeeMobile 2011-05-06 15:29:37
謝謝。 Django的測試運行者無法做到這一點有點蹩腳。 – hekevintran 2011-05-19 17:17:14
這運行測試,但如何運行整個TestCase? – jMyles 2012-06-11 18:39:06