我的上一篇文章"从 0 到 1 搭建 dubbo 服务"已经详细介绍了如何在本地搭建测试的 dubbo 服务
今天刚更新了 dubbo 的相关代码, 完善了提供者的测试数据和接口 + 编写消费者的 controller 提供 http 接口调用 + swagger 集成.
swagger 接口文档地址为: http://ip:8081/swagger-ui.html
(其中 ip 为消费者服务的 ip)
大家直接使用 software 目录里面的 jar 包部署即可!
个人通过搜集资料, 总结出 dubbo 相关接口的测试方法有 4 种,下面介绍下同时给出自己的推荐指数 (满星是 5 星)
优点:
最原始的测试方法,可以简单调用 dubbo 接口
缺点是:
优点: 使用工具来测, 操作相对简单一些
缺点:
个人见解:如果有 java 基础和 Springboot 基础,最推荐使用这种方法.
优点:
缺点是:
优点:
缺点:
首先先熟悉一下自定义接口, 服务提供者的接口定义文件:
gmall_interface\src\main\java\com\atguigu\gmall\service\UserService.java
我们就是测试 UserService 服务里面定义的这 4 个方法, 为了多样性, 我设计了不同类型的传参和返回值的接口.
建议在 Linux 上来操作,因为使用 windows 是哪个的 telnet 会出现乱码,改编码格式后仍未解决问题,Linux 上无此问题!
远程连接远端服务 (这里用的是 zookeeper 的 ip 和 port, port 默认为 20880)
telnet ip port
输入回车, 即可进入下面的界面
调用方法:可使用 cd, ls, invoke 这些命令来做基础操作
对方法的调用示例
getUserCount
getOneUserAddressList
getSpecificAddressList
getUserAddressList
感兴趣的可以自己操作下, 帖子链接如下:
https://juejin.cn/post/6844903952962551815
文件位置
这个 OrderController 集成了 Swagger, 部署了消费者服务后, 可以通过 http://ip:8081/swagger-ui.html
来查看接口文档
然后就可以通过调用 http 接口来进行测试了
目前发现 3 个比较好的开源项目
将 dubbo 接口封装为 http 的 fastapi 项目
项目地址: https://github.com/JokerChat/dubbo_fastapi
优点:
接口示例 1
POST http://127.0.0.1:5000/api/dubbo/search
body
{
"serviceName": "com.atguigu.gmall.service.UserService"
}
响应
接口示例 2
POST http://127.0.0.1:5000/api/dubbo/invoke
body
{
"serviceName": "com.atguigu.gmall.service.UserService",
"methodName": "getSpecificAddressList",
"data":
{
"data": {"address":"广东省深圳市"}
}
}
响应
[
{
"consignee": "Lucy",
"id": 300,
"isDefault": "Y",
"phoneNum": "15991923491",
"userAddress": "广东省深圳市XXX大厦F座",
"userId": "130"
},
{
"consignee": "Tony",
"id": 305,
"isDefault": "Y",
"phoneNum": "13660415233",
"userAddress": "广东省深圳市XXX景区",
"userId": "160"
}
]
可视化的 dubbo 测试工具 (flask + layui 框架)
项目地址: https://gitee.com/prestest/dubboTestTool
优点:
使用示例 1
使用示例 2
python 的 dubborequests 库
详细介绍: https://testerhome.com/topics/32756
以上就是关于dubbo 服务的测试方法的分享, 觉得有收获的话,希望可以点击个人信息的个人公众号点个关注哈, 欢迎转载文章~