我正在尝试修补django应用程序中使用的配置文件,并且在我们导入配置的方式上无法理解如何执行此操作。我不认为它的Django在这里有很多相关性,但它部分驱动了这个文件结构。
应用/ views.py
from . import config as APP_CONFIG
...later on in some function...
retry_count = APP_CONFIG.MAX_NUMBER_RETRIES
应用/ config.py
MAX_NUMBER_RETRIES = 1
如何正确修补此配置设置?
我在我的测试函数中尝试了各种@patch('app.views.CONFIG.MAX_NUMBER_RETRIES', 1)
或@patch('app.config.MAX_NUMBER_RETRIES', 1)
无效(我使用pytest)。
答案 0 :(得分:0)
这应该有效:
@patch('app.views.APP_CONFIG.MAX_NUMBER_RETRIES', 1)
我尝试了一个小例子(没有Django),它按预期工作。这可能不是pytest,而是 mock 相关。请查看文档:{{3}}。