我正在开发一个由两个Python包组成的项目。 foo
包含一些常见的业务逻辑,foo.webapp
包含一个Django应用程序,通过它提供API。模块foo.tests
包含公共逻辑的unittest
个案例,以及API的foo.webapp.tests
个案例。另外还有一个用于运行API的Django项目。所以它看起来像这样:
foo-root/
foo/
__init__.py
some_logic.py
other_logic.py
tests.py
webapp/
__init__.py
urls.py
views.py
tests.py
django_project/
manage.py
settings.py
urls.py
我希望foo.tests
与foo.webapp.tests
分开,所以当我django_project/manage.py test
时,它应该只运行后者。但是我也想要一种方法来同时运行两个测试套件,一个进度条,一个失败计数等。我可以完成这个,如果是,那怎么办?
答案 0 :(得分:1)
我按照django-alltestsrunner的方式编写了一个自定义Django测试运行器(但是我没有自动发现测试,而是在settings
中指定了一个模块列表。)
现在,当我执行django_project/manage.py test
时,它会运行所有测试。当我执行django_project/manage.py test foo.webapp.tests
时,它只运行API测试。