python - 模拟 Peewe 类不会返回值
问题描述
模拟一个 peewe 类来模拟类属性
模型.py
import peewe
class A():
human = CharField()
class B():
first = CharField()
second = ForeignKeyField(B, related_name="addresses")
来自模拟导入补丁的 test.py
def build_A_model():
var = models.A()
var.human = "yes"
def build_B_model(A_fake_model):
var1 = models.B()
var1.first = "test"
var1.second = A_fake_model
return var1
@patch(models.A)
class testing(unittest.TestCase):
def test1(self, A_mock):
A_fake_model = build_A_model()
B_model = build_B_model(A_fake_model)
expected = {
"first": "test",
"second": {
"human": "yes"
},
}
# some function to searlize B_model to json
result = json_searlized_data
self.assertEqual(expected, result)
任务:尝试模拟 A_Model 和 B_model 以获得所需的预期结果:
问题: Mock_A 类返回 Magic Mock() 而不是返回值
错误: 人类:MagicMock name='xxxxx' id='139670936802896'"
问题:如何返回模拟的 class_A 模型的值?
解决方案
你没有返回任何东西:
def build_A_model():
var = models.A()
var.human = "yes"
添加return语句哟。
推荐阅读
- r - shinyapp.io 应用程序的性能不如本地闪亮应用程序
- linux - 无法为 ARM 交叉编译 postgresql 12.2
- laravel - 当日期“from”和“to”为空时,Laravel 总是在我的报告中显示 01-Jan-1970 / 01-Jan-1970
- slack-api - Slack API 标记通道读取 2020
- powershell - 如果配置使用 configbuilders,我如何使用 powershell 获取网站的连接字符串?
- android-studio - 如何禁用非详尽的“何时”表达式检查?
- javascript - MongoDB:聚合查询匹配子文档数组的多个条件
- methods - 去折叠应该是自我的一部分
- arrays - 将数组添加到数组列表
- javascript - 如何路由多个 content.js 消息多个 background.js 侦听器?