当通过SimpleTestCase.settings()
(https://docs.djangoproject.com/en/1.8/topics/testing/tools/#django.test.SimpleTestCase.settings)运行测试时,Django允许重写设置。当我试图覆盖Django的一个设置时,这很好用。在
我要为其运行测试的应用程序在特定于应用程序的settings.py
中携带自己的设置,其结构如下,以允许覆盖项目范围内的特定于应用程序的设置settings.py
:
from django.conf import settings
APP_SETTING1 = getattr(settings, 'APP_SETTING1', 'foo')
测试中的以下伪代码显示了问题:
^{pr2}$为什么不起作用,我怎么能让它起作用?在
我也在努力解决同样的问题,我认为唯一的解决办法就是改变方法,只使用django.conf.settings公司直接。在
原因是,如果您使用自定义设置,则在覆盖\u设置或测试用例设置被称为。在
理想情况下,您应该使用并入Django的unittest库来模拟设置。或者,您也可以这样做,但最好是修补:
https://docs.djangoproject.com/en/2.1/topics/settings/#custom-default-settings
你可以直接在应用程序中使用特定的设置
在设置.py公司名称:
在应用程序.py公司名称:
^{pr2}$或者您可以直接在测试用例中使用
相关问题 更多 >
编程相关推荐