我想测试一个使用 zeep 而不实际进行任何外部调用的程序的逻辑。为此,最好序列化一个正确的响应对象,否则,能够像 zeep 一样构造一个对象。
例如,当我在线编写测试时(serialize
和 deserialize
是我需要的组合函数):
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']