史上最强项目实战(十五)——用户功能测试

在前面,我们完成了用户微服务和短信微服务。但也只是把代码给写完了,今天我们来从头到尾测试一下用户相关接口。

1. 环境准备

(1)MySQL数据库:这个就不用多强调了,如果没有数据库,那只能说玩个锤子。

(2)RabbitMQ:目前我们使用到消息队列的场景很多,比如发送短信验证码,分布式配置自动更新,微服务调用链追踪对Zipkin服务解耦。

(3)Redis:也不强调了,自己上网装一下吧。

2. 启动程序

(1)启动服务注册中心,端口:9010

(2)启动分布式配置中心,端口:9015

(3)启动网关服务,端口:9020

(4)启动用户微服务,端口:9025

(5)启动短信微服务,端口:9030

在这里插入图片描述

查看服务注册中心控制台,可以看到服务已经全部启动成功。(短信微服务没有向服务注册中心注册,所以这里看不到)

3. 接口测试

访问http://localhost:9025/swagger-ui.html#/user-controller,可以看到在Swagger UI界面显示了当前用户微服务所有接口。我们可以直接使用Swagger进行接口测试,但是为了模拟真实的业务场景,我们不直接访问用户微服务测试,而是通过访问网关服务,由网关服务做路由转发。

在这里插入图片描述

3.1 新增用户

  • 请求路径:http://localhost:9020/api/user
  • 请求方法:POST
  • 请求体:
{
  "displayName": "张三",
  "password": "123456",
  "phone": "18117124367",
  "username": "zhangsan"
}
  • 响应体:
{
    "success": true,
    "code": 10000,
    "message": "操作成功!",
    "user": {
        "id": 3,
        "username": "zhangsan",
        "displayName": "张三",
        "password": "$2a$10$XY4g/BDONOcpQ97Tc592l.yIKB8BpZaGfYJltS6erjtdq8fHkwAAm",
        "phone": "18117124367"
    }
}

3.2 根据用户名和密码查询用户

  • 请求路径:http://localhost:9020/api/user/findByUP?username=zhangsan&password=123456
  • 请求方法:GET
  • 响应体:
{
    "success": true,
    "code": 10000,
    "message": "操作成功!",
    "user": {
        "id": 3,
        "username": "zhangsan",
        "displayName": "张三",
        "password": "$2a$10$XY4g/BDONOcpQ97Tc592l.yIKB8BpZaGfYJltS6erjtdq8fHkwAAm",
        "phone": "18117124367"
    }
}

3.3 编辑保存

  • 请求路径:http://localhost:9020/api/user
  • 请求方法:PUT
  • 请求体:
{
  "displayName": "张三123",
  "id": "3",
  "password": "$2a$10$XY4g/BDONOcpQ97Tc592l.yIKB8BpZaGfYJltS6erjtdq8fHkwAAm",
  "phone": "18117124367",
  "username": "zhangsan"
}
  • 响应体:
{
    "success": true,
    "code": 10000,
    "message": "操作成功!"
}

3.4 删除用户

  • 请求路径:http://localhost:9020/api/user/3
  • 请求方法:DELETE
  • 响应体:
{
    "success": true,
    "code": 10000,
    "message": "操作成功!"
}

3.5 发送短信验证码

  • 请求路径:http://localhost:9020/api/user/18117124367/code
  • 请求方法:GET
  • 响应体:
{
    "success": true,
    "code": 10000,
    "message": "操作成功!"
}

短信微服务消费消息,并在控制台打印:
在这里插入图片描述

3.6 注册

  • 请求路径:http://localhost:9020/api/user/register?code=076474
  • 请求方法:POST
  • 请求体:
{
  "displayName": "李四",
  "password": "123456",
  "phone": "18117124367",
  "username": "lisi@qq.com"
}
  • 响应体:
{
    "success": true,
    "code": 10000,
    "message": "操作成功!"
}

4. 说明

以上我们对每个接口都做了简单的测试,只是简单的测试,所以基本上测试的结果都能达到我们的预期。但是在实际的场景中,会碰到很多的问题,比如用户名长度和必填、验证码过期后注册校验等等,这些测试就不做了(感兴趣的可以自行测试哦),毕竟我们不是真的在搞真真实实的项目。

——End——
更多详情,可扫码关注微信公众号哦。

在这里插入图片描述

发布了142 篇原创文章 · 获赞 29 · 访问量 8万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览