如何测试 SOAP Web 服务的 RPC?
Posted
技术标签:
【中文标题】如何测试 SOAP Web 服务的 RPC?【英文标题】:How to test RPC of SOAP web services? 【发布时间】:2016-09-01 14:54:31 【问题描述】:我目前正在学习使用 django 和 spyne 构建 SOAP Web 服务。我已经使用单元测试成功地测试了我的模型。但是,当我尝试测试所有这些 @rpc 函数时,我一点运气都没有。
我在测试这些@rpc 函数时尝试过什么: 1.获取模型数据库中的虚拟数据 2.在localhost:8000启动一个服务器 3.创建一个可以与localhost:8000通信的suds.Client对象 4. 尝试从 suds.Client 对象调用@rpc 函数,并测试输出是否符合我的预期。
但是,当我运行测试时,我相信测试在 localhost:8000 处被正在运行的服务器阻止,因此在服务器运行时无法运行测试代码。
我试图让服务器在不同的线程上运行,但这让我的测试更加混乱。
我在网上搜索了尽可能多的内容,但没有找到可以回答这个问题的材料。
TL;DR:你如何使用单元测试来测试@rpc 函数?
【问题讨论】:
Testing Spyne application的可能重复 【参考方案1】:我相信如果您在测试中使用服务,那么该测试不应该是单元测试。
你可能想考虑使用 factory_boy 或 mock,它们都是 python 模块来模拟或伪造一个对象,例如,伪造一个对象来给出一个响应您的 rpc 调用。
【讨论】:
以上是关于如何测试 SOAP Web 服务的 RPC?的主要内容,如果未能解决你的问题,请参考以下文章
jmeter3.2版本如何进行webservice接口功能测试
三种主流的WebService实现方案(REST/SOAP/XML-RPC)简述及比较