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

时间:2018-05-11 14:57:53

标签: python python-2.7 unit-testing mocking python-mock

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

#__init__.py

from config import Config

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

config.py中的我的Config类有一个名为content的方法,我需要在实例config1config2上进行模拟。配置会调用第三方库来执行http请求,因此我需要为json的响应返回content字典。

在验证器功能中,我有以下内容:

#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值,我做错了什么?感谢

0 个答案:

没有答案