应用具有测试目录时,在Django中运行特定的测试用例
Django文档(http://docs.djangoproject.com/zh-CN/1.3/topics/testing/#running-tests)指出,你可以通过指定单个测试用例来运行它们:
$ ./manage.py test animals.AnimalTestCase
假设你将测试保存在Django应用程序的tests.py文件中。如果是这样,那么此命令将按预期工作。
我在tests目录中有针对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
文件具有suite()
函数:
import unittestfrom 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
当我的测试位于多个文件中时,如何指定单个测试用例?
回答:
结帐django-nose。它允许你指定测试运行方式:
python manage.py test another.test:TestCase.test_method
或如注释中所述,使用以下语法:
python manage.py test another.test.TestCase.test_method
以上是 应用具有测试目录时,在Django中运行特定的测试用例 的全部内容, 来源链接: utcz.com/qa/412726.html