Python模拟修补类实例中的方法

2024-04-27 03:02:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个项目在我的主__init__文件中分配了2个配置,因为它们在整个项目中经常使用。你知道吗

#__init__.py

from config import Config

config1 = Config('Email')
config2 = Config('Test')

我的配置类在配置.py有一个名为content的方法,我需要在实例config1config2上模拟它。配置确实调用了第三方库来执行http请求,因此我需要返回一个json字典来响应content。你知道吗

在validators函数中,我具有以下功能:

#validation.py

from parser import config1, config2

def validation(msg):
    if "email" in config1.keys():
        ...

我不是想模仿考试,而是不断出错。我尝试过各种mock patch路径,但都不起作用。你知道吗

我的最新尝试如下:

from mock import patch
from parser import validation

@patch('parser.Config')
def test_is_valid(mock_config):

    mock_config.return_value.content = "Test"

    assert validation.is_valid("email") == True

我的Config实例(config1和config2)没有正确返回.content值,这有什么不对吗?谢谢


Tags: 项目frompytestimportconfigparserinit