python - 如何测试 SOAP Web 服务的 RPC?

标签 python django testing rpc spyne

我目前正在学习使用 django 和 spyne 构建 SOAP 网络服务。我已经使用单元测试成功地测试了我的模型。但是,当我尝试测试所有这些 @rpc 函数时,我一点运气都没有。

我在测试这些@rpc 函数时尝试了: 1. 获取模型数据库中的虚拟数据 2. 在 localhost:8000 启动服务器 3.创建一个可以与localhost:8000通信的suds.Client对象 4. 尝试从 suds.Client 对象调用 @rpc 函数,并测试输出是否符合我的预期。

但是,当我运行测试时,我认为测试被位于 localhost:8000 的正在运行的服务器阻止,因此在服务器运行时无法运行测试代码。

我试图让服务器在不同的线程上运行,但这让我的测试更加困惑。

我在网上尽可能多地搜索,没有找到可以回答这个问题的资料。

TL;DR:如何使用单元测试来测试 @rpc 函数?

最佳答案

我相信如果您在测试中使用服务,那么该测试不应该是单元测试。

你可能想考虑使用factory_boymock,它们都是python模块来模拟或伪造一个对象,例如,伪造一个对象给一个响应您的 rpc 调用。

关于python - 如何测试 SOAP Web 服务的 RPC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39274850/

相关文章:

python - 以列格式将一个表的输出合并到另一个表

Jquery .load() 在 Django 模板中不起作用

java - 通过 Java 独立应用程序运行 JMeter 测试用例,无需在本地安装 JMeter。

python - 为什么 python 打包文档说包的 __init__.py 文件应该是空的?

python - 命令 python yowsup-cli -c config ... 不适用于树莓派

python - Django Rest Framework 从模型获取序列化器

python - 无法在 Django 1.9+ 中解析 'django.utils.log.NullHandler'

unit-testing - phing 和 phpunit + bootstrap

ruby-on-rails - Rails + RSpec 问题

python - 将预训练的咖啡模型加载到烤宽面条中?