Skip to content

Latest commit

 

History

History
188 lines (162 loc) · 5.87 KB

File metadata and controls

188 lines (162 loc) · 5.87 KB

API测试记录

1. 项目信息

  • 项目名称:coding-test
  • 运行环境:Spring Boot 3.3.9
  • 数据库:H2
  • 端口号:19999

2. 接口列表

接口URL 方法 功能描述 状态 截图位置
/api/users GET 获取所有用户(分页) 已测试 api_screenshots/get_all_users.png
/api/users/{userId} GET 根据ID获取用户 已测试 api_screenshots/get_user_by_id.png
/api/users/userName/{userName} GET 根据用户名获取用户 已测试 api_screenshots/get_user_by_username.png
/api/users/email/{email} GET 根据邮箱获取用户 已测试 api_screenshots/get_user_by_email.png
/api/users/dept/{deptId} GET 根据部门ID获取用户列表 已测试 api_screenshots/get_users_by_dept.png
/api/users/type/{userType} GET 根据用户类型获取用户列表 已测试 api_screenshots/get_users_by_type.png
/api/users/status/{status} GET 根据状态获取用户列表 已测试 api_screenshots/get_users_by_status.png
/api/users/sex/{sex} GET 根据性别获取用户列表 已测试 api_screenshots/get_users_by_sex.png
/api/users POST 创建新用户 已测试 api_screenshots/create_user.png
/api/users/{userId} PUT 更新用户信息 已测试 api_screenshots/update_user.png
/api/users/{userId} DELETE 删除用户(先停用) 已测试 api_screenshots/delete_user.png

3. 测试环境配置

3.1 数据库配置

spring:
  datasource:
    driver-class-name: org.h2.Driver
    url: jdbc:h2:file:./db/testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
    username: sa
    password: ""
  sql:
    init:
      mode: always
      schema-locations: classpath:db/schema-h2.sql
      data-locations: classpath:db/data-h2.sql

3.2 端口配置

server:
  port: 19999

4. 测试准备

  1. 启动应用:mvn spring-boot:run
  2. 访问H2控制台:http://localhost:19999/h2-console
  3. 使用API测试工具(如Postman、Apifox)进行接口测试
  4. 保存测试截图到api_screenshots目录
  5. 更新此文档中的测试状态和截图位置

5. 测试记录

5.1 接口1:获取所有用户(分页)

  • URL:GET http://localhost:19999/api/users?page=1&size=10
  • 请求参数:
    • page:1(默认)
    • size:10(默认)
  • 预期结果:返回用户列表,包含分页信息
  • 实际结果:
  • 截图:img.png

5.2 接口2:根据ID获取用户

  • URL:GET http://localhost:19999/api/users/200
  • 请求参数:
    • userId:200
  • 预期结果:返回ID为200的用户信息
  • 实际结果:
  • 截图:

5.3 接口3:根据用户名获取用户

  • URL:GET http://localhost:19999/api/users/userName/admin
  • 请求参数:
    • userName:admin
  • 预期结果:返回用户名为admin的用户信息
  • 实际结果:
  • 截图:

5.4 接口4:根据邮箱获取用户

  • URL:GET http://localhost:19999/api/users/email/1563840927@qq.com
  • 请求参数:
  • 预期结果:返回邮箱为1563840927@qq.com的用户信息
  • 实际结果:
  • 截图:

5.5 接口5:根据部门ID获取用户列表

  • URL:GET http://localhost:19999/api/users/dept/1
  • 请求参数:
    • deptId:1
  • 预期结果:返回部门ID为1的用户列表
  • 实际结果:
  • 截图:

5.6 接口6:根据用户类型获取用户列表

  • URL:GET http://localhost:19999/api/users/type/00
  • 请求参数:
    • userType:00
  • 预期结果:返回用户类型为00的用户列表
  • 实际结果:
  • 截图:

5.7 接口7:根据状态获取用户列表

  • URL:GET http://localhost:19999/api/users/status/0
  • 请求参数:
    • status:0
  • 预期结果:返回状态为0的用户列表
  • 实际结果:
  • 截图:

5.8 接口8:根据性别获取用户列表

  • URL:GET http://localhost:19999/api/users/sex/0
  • 请求参数:
    • sex:0
  • 预期结果:返回性别为0的用户列表
  • 实际结果:
  • 截图:

5.9 接口9:创建新用户

  • URL:POST http://localhost:19999/api/users
  • 请求体:
{
  "deptId": "1",
  "userName": "testuser",
  "nickName": "Test User",
  "userType": "00",
  "email": "test@example.com",
  "phoneNumber": "13800138000",
  "sex": "1",
  "password": "password123",
  "status": "0"
}
  • 预期结果:返回创建的用户信息(不含密码)
  • 实际结果:
  • 截图:

5.10 接口10:更新用户信息

  • URL:PUT http://localhost:19999/api/users/203
  • 请求体:
{
  "nickName": "Updated Test User",
  "email": "updated_test@example.com"
}
  • 预期结果:返回更新后的用户信息
  • 实际结果:
  • 截图:

5.11 接口11:删除用户(先停用)

  • URL:DELETE http://localhost:19999/api/users/203
  • 请求参数:
    • userId:203
  • 预期结果:返回删除成功信息
  • 实际结果:
  • 截图:

6. 测试总结

测试项目 测试结果 备注
接口功能完整性 已测试 所有接口已测试
响应格式一致性 已测试 所有接口应返回统一的ResponseResult格式
数据处理正确性 已测试 测试CRUD操作的数据一致性
异常处理 已测试 测试无效参数、不存在的资源等情况
性能测试 已测试 测试大量数据下的分页查询性能

7. 注意事项

  1. 测试前确保应用已成功启动
  2. 测试过程中保持数据库连接正常
  3. 测试数据应覆盖各种边界情况
  4. 测试截图应清晰显示请求和响应信息
  5. 测试完成后更新此文档的测试状态和结果

8. 后续优化建议

  1. 添加接口文档(如Swagger)
  2. 增加单元测试和集成测试
  3. 优化数据库索引,提高查询性能
  4. 添加缓存机制,减少数据库压力
  5. 完善日志记录,便于问题排查