我正在构建一个 Python 应用程序,它使用 Python-zeep 访问第 3 方 SOAP API。我想使用模拟响应来实现一些单元测试,因为我并不总是有一个实时服务器来运行我的测试。我是单元测试的新手,不太确定从哪里开始。我已经看到在请求库中使用模拟的示例,但不确定如何将其转换为 Zeep。在我的一个模型上,我有一种方法可以从 SOAP API 获取所有 DevicePool。这是相关代码的摘录(我使用辅助方法来提供服务对象,因为我计划在许多其他方法中使用它)。# Get Zeep Service Object to make AXL API callsservice = get_axl_client(self)# Get list of all DevicePools present in the clusterresp = service.listDevicePool(searchCriteria={'name': '%'}, returnedTags={'name': '', 'uuid': ''})我想模拟 resp 对象,但是这是 zeep.objects.ListDevicePoolRes 类型(一种基于 WSDL 解析的动态类型),我不能只用静态值实例化一个对象。也许我在这里走错了路,必须更深入地模拟 zeep 库的一些内部结构,并在 zeep 解析 XML 之前替换请求响应?如果有人有类似的例子,将不胜感激。
添加回答
举报
0/150
提交
取消