python - Python mock 修补类实例中的方法
问题描述
我有一个项目在我的主__init__
文件中分配了 2 个配置,因为它们在整个项目中经常使用。
#__init__.py
from config import Config
config1 = Config('Email')
config2 = Config('Test')
我在 config.py 中的 Config 类有一个方法content
,我需要在实例config1
和config2
. 配置确实调用了第三方库来执行 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 值,我做错了什么?谢谢
解决方案
推荐阅读
- android - sass:node_modules/ionic-angular/themes/ionic.functions.scss
- python - 如何使用 Python 绘制这样的图片?
- php - 如何使用xampp修复php中的致命错误
- multithreading - java.lang.Thread和ThreadPool中线程的性能问题
- php - FPDF header() image 无法打开图片问题
- sql - 如何获取另一个表中不存在的值,忽略最近日期的重复值
- reactjs - 使用 react-dom 时,react 组件测试文件中的 console.log 语句不起作用
- javascript - 我如何从反应中获取消息后数据?
- jquery - TypeError: jQuery(...).bindFirst 不是函数
- vue.js - 是否可以在此柏树上创建模拟 api 以防止实际的 api 调用