0

我正在尝试修补 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)。

4

1 回答 1

0

这应该有效:

@patch('app.views.APP_CONFIG.MAX_NUMBER_RETRIES', 1)

我用一个小例子(没有Django)进行了尝试,它按预期工作。这可能不是 pytest 而是mock相关的。查看文档:在哪里打补丁

于 2016-06-27T19:30:05.937 回答