序列化 zeep 对象以进行单元测试

问题描述

我想测试一个使用 zeep 而不实际进行任何外部调用的程序的逻辑。为此,最好序列化一个正确的响应对象,否则,能够像 zeep 一样构造一个对象。

例如,当我在线编写测试时(serializedeserialize 是我需要的组合函数):

result = zeep.Client(url).service.getFood()
print(food.Flavor)  # prints "bitter"
open('result','w').write(result.serialize())

然后在单元测试中单独运行

result = zeep.deserialize(open('result').read())
print(food.Flavor) # prints "bitter"

我尝试过的:

  • 使用 repr(result)str(result),但这些是原生 Python 类型,特别不支持 food.Flavor,但 food['Flavor']
  • This answer,但我真的不想嘲笑整个世界,只是将响应序列化

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)