如何将应用程序添加到INSTALLED_APPS进行测试?

时间:2013-12-10 12:04:13

标签: python django

目前,我们只能在提供的test_project中投放./manage.py test autocomplete_light,因为它已将其添加到INSTALLED_APPS

由于用户需求,我的v2目标是在用户项目中启用测试。首先要做的是将example apps移到subdir of the module

现在,我需要的是能够在测试用例期间添加它们和它们的URL。

我尝试了overriding settings with the provided method,但这会在创建数据库后覆盖设置。

2 个答案:

答案 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"}
        ):
            # ...

https://docs.djangoproject.com/en/dev/topics/testing/tools/#django.test.SimpleTestCase.modify_settings