目前,我们只能在提供的test_project中投放./manage.py test autocomplete_light
,因为它已将其添加到INSTALLED_APPS。
由于用户需求,我的v2目标是在用户项目中启用测试。首先要做的是将example apps移到subdir of the module。
现在,我需要的是能够在测试用例期间添加它们和它们的URL。
我尝试了overriding settings with the provided method,但这会在创建数据库后覆盖设置。
答案 0 :(得分:1)
您可以通过设置DJANGO_SETTINGS_MODULE环境变量,使用特殊的settings.py运行测试。这个特殊的“testsettings.py”可以从正常的settings.py导入*,然后将必要的额外应用程序添加到INSTALLED_APPS。
请记住,settings.py文件只是普通的Python模块,因此您可以添加任何想要从其他地方获取额外应用程序列表的逻辑。
答案 1 :(得分:0)
Django提供了modify_settings()
上下文管理器,可以更轻松地进行设置更改:
class TestSomeApp(TestCase):
def test_some_app(self):
with self.modify_settings(
INSTALLED_APPS={"prepend": "some_app"}
):
# ...