苍穹外卖-day02 新增员工 功能测试

代码已经发开发完毕,对新增员工功能进行测试。

功能测试实现方式:

  • 通过接口文档测试

  • 通前后端联调测试

接下来我们使用上述两种方式分别测试。

1.3.1 接口文档测试

启动服务:访问http://localhost:8080/doc.html,进入新增员工接口

json数据:

{
  "id": 0,
  "idNumber": "111222333444555666",
  "name": "xiaozhi",
  "phone": "13812344321",
  "sex": "1",
  "username": "小智"
}

{
  "id": 0,
  "idNumber": "11122233334445555666",
  "name": "张三",
  "phone": "13812344321",
  "sex": "1",
  "username": "zhangsan"
}

响应码:401 报错

通过断点调试:进入到JwtTokenAdminInterceptor拦截器

     /**
     * 校验jwt
     *
     * @param request
     * @param response
     * @param handler
     * @return
     * @throws Exception
     */
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //判断当前拦截到的是Controller的方法还是其他资源
        if (!(handler instanceof HandlerMethod)) {
            //当前拦截到的不是动态方法,直接放行
            return true;
        }

        //1、从请求头中获取令牌 jwtProperties.getAdminTokenName()获取为token
        String token = request.getHeader(jwtProperties.getAdminTokenName());

        //2、校验令牌
        try {
            log.info("jwt校验:{}", token);
            Claims claims = JwtUtil.parseJWT(jwtProperties.getAdminSecretKey(), token);
            Long empId = Long.valueOf(claims.get(JwtClaimsConstant.EMP_ID).toString());
            log.info("当前员工id:", empId);
            //3、通过,放行
            return true;
        } catch (Exception ex) {
            //4、不通过,响应401状态码
            response.setStatus(401);
            return false;
        }
    }

JWT令牌是空的    所以会抛出异常

报错原因:由于JWT令牌校验失败,导致EmployeeController的save方法没有被调用

解决方法:调用员工登录接口获得一个合法的JWT令牌

使用admin用户登录获取令牌

添加令牌:

将合法的JWT令牌添加到全局参数中

文档管理-->全局参数设置-->添加参数

接口测试:

其中,请求头部含有JWT令牌

查看employee表:

拿到前端传递过来的数据后   进入到employeeService.save(employeeDTO);

new了一个对象  这里面的属性都是空的  

接下来将employeeDTO的属性烤到employee里面

现在employee实体对象都有值了  然后在调用insert()方法
employeeMapper.insert(employee);

把数据插入到数据库

 ==>  Preparing: insert into employee (name, username, password, phone, sex, id_number, create_time, update_time, create_user, update_user,status) values (?,?,?,?,?,?,?,?,?,?,?)
2024-05-19 00:48:07.394 DEBUG 12012 --- [nio-8080-exec-3] com.sky.mapper.EmployeeMapper.insert     : ==> Parameters: 张三(String), zhangsan(String), e10adc3949ba59abbe56e057f20f883e(String), 13812344321(String), 1(String), 111222333344455(String), 2024-05-19T00:47:53.888553200(LocalDateTime), 2024-05-19T00:47:55.514672500(LocalDateTime), 10(Long), 10(Long), 1(Integer)
2024-05-19 00:48:07.427 DEBUG 12012 --- [nio-8080-exec-3] com.sky.mapper.EmployeeMapper.insert     : <==    Updates: 1

测试成功。

1.3.2 前后端联调测试

启动nginx,访问 http://localhost

登录-->员工管理-->添加员工

保存后,查看employee表

测试成功。

注意:由于开发阶段前端和后端是并行开发的,后端完成某个功能后,此时前端对应的功能可能还没有开发完成, 导致无法进行前后端联调测试。所以在开发阶段,后端测试主要以接口文档测试为主。

  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值