# 员工企业关系管理测试脚本使用说明 ## 一、测试脚本文件 本项目提供了两个版本的测试脚本: 1. **Bash版本** (推荐用于Linux/Mac/Git Bash) - 文件: `test_staff_enterprise_relation_complete.sh` - 位置: `D:\ccdi\ccdi\doc\implementation\scripts\` 2. **Batch版本** (用于Windows CMD) - 文件: `test_staff_enterprise_relation_complete.bat` - 位置: `D:\ccdi\ccdi\doc\implementation\scripts\` ## 二、测试环境要求 ### 1. 后端服务 - **后端服务必须启动**: Spring Boot应用运行在 `http://localhost:8080` - **数据库连接正常**: MySQL数据库可访问 - **Redis服务正常**: Redis用于异步导入状态存储 ### 2. 测试账号 - 用户名: `admin` - 密码: `admin123` - 接口: `/login/test` ## 三、测试脚本功能 ### 测试覆盖的接口 | 序号 | 测试项 | 接口路径 | 说明 | |----|--------|-----------------------------------------------------------|-----------| | 1 | 登录 | POST /login/test | 获取Token | | 2 | 查询列表 | GET /ccdi/staffEnterpriseRelation/list | 分页查询 | | 3 | 新增 | POST /ccdi/staffEnterpriseRelation | 新增记录 | | 4 | 查询详情 | GET /ccdi/staffEnterpriseRelation/{id} | 根据ID查询 | | 5 | 修改 | PUT /ccdi/staffEnterpriseRelation | 修改记录 | | 6 | 删除 | DELETE /ccdi/staffEnterpriseRelation/{ids} | 删除记录 | | 7 | 下载模板 | POST /ccdi/staffEnterpriseRelation/importTemplate | 下载Excel模板 | | 8 | 导入数据 | POST /ccdi/staffEnterpriseRelation/importData | 异步导入 | | 9 | 查询导入状态 | GET /ccdi/staffEnterpriseRelation/importStatus/{taskId} | 轮询状态 | | 10 | 查询失败记录 | GET /ccdi/staffEnterpriseRelation/importFailures/{taskId} | 分页查询 | | 11 | 导出数据 | POST /ccdi/staffEnterpriseRelation/export | 导出Excel | ### 测试数据 **新增测试数据**: ```json { "personId": "110101199001011234", "personName": "张三", "socialCreditCode": "91110000123456789X", "enterpriseName": "测试技术有限公司", "relationPersonPost": "技术总监", "isEmployee": 0, "isEmpFamily": 1, "isCustomer": 0, "isCustFamily": 0, "status": 1, "dataSource": "MANUAL", "remark": "测试新增" } ``` ## 四、使用方法 ### 方法1: Bash版本 (推荐) #### Windows (Git Bash) ```bash # 进入脚本目录 cd D:/ccdi/ccdi/doc/implementation/scripts # 添加执行权限(首次运行) chmod +x test_staff_enterprise_relation_complete.sh # 运行测试 ./test_staff_enterprise_relation_complete.sh ``` #### Linux/Mac ```bash # 进入脚本目录 cd /path/to/ccdi/doc/implementation/scripts # 添加执行权限(首次运行) chmod +x test_staff_enterprise_relation_complete.sh # 运行测试 ./test_staff_enterprise_relation_complete.sh ``` ### 方法2: Batch版本 (Windows CMD) ```cmd # 进入脚本目录 cd D:\ccdi\ccdi\doc\implementation\scripts # 运行测试 test_staff_enterprise_relation_complete.bat ``` ## 五、测试输出 ### 1. 控制台输出 测试脚本会实时输出测试进度和结果: ``` ======================================== 员工企业关系管理完整测试 测试时间: 2026-02-09 16:30:00 ======================================== [TEST] 登录获取Token... [INFO] 登录成功,Token: eyJhbGciOiJIUzI1NiJ9... [TEST] 测试1: 查询员工企业关系列表... {"code":200,"msg":"查询成功",...} [INFO] ✓ 测试通过: 查询列表成功 [TEST] 测试2: 新增员工企业关系... {"code":200,"msg":"操作成功",...} [INFO] ✓ 测试通过: 新增员工企业关系成功 [INFO] 获取到新增的记录ID: 123 ... ======================================== 测试总结 ======================================== 总测试数: 10 通过: 10 失败: 0 成功率: 100.00% ======================================== [INFO] 所有测试通过! ``` ### 2. 测试报告文件 测试报告会保存在: ``` D:\ccdi\ccdi\doc\implementation\scripts\test_output\test_staff_enterprise_relation_YYYYMMDD_HHMMSS.txt ``` 报告内容包含: - 每个测试的详细响应 - 测试通过/失败统计 - 成功率计算 - 错误详情(如果有) ### 3. 下载的文件 测试过程中会下载以下文件到 `test_output` 目录: | 文件名 | 说明 | 测试项 | |----------------------------|------|------| | test6_import_template.xlsx | 导入模板 | 测试6 | | test10_export.xlsx | 导出数据 | 测试10 | ## 六、高级测试 ### 测试导入功能 默认情况下,导入功能测试被注释掉了,因为需要准备Excel文件。要测试导入功能: 1. **准备测试Excel文件** 下载模板后,填充测试数据: ```bash # 下载模板 ./test_staff_enterprise_relation_complete.sh # 编辑下载的模板文件 # doc/implementation/scripts/test_output/test6_import_template.xlsx ``` 2. **启用导入测试** 编辑 `test_staff_enterprise_relation_complete.sh`,取消注释以下部分: ```bash # 测试7-9: 导入功能(需要Excel文件) EXCEL_FILE="doc/implementation/scripts/test_output/test_staff_enterprise_relation_import.xlsx" TASK_ID=$(test_import "$TOKEN" "$EXCEL_FILE") echo "" | tee -a "$REPORT_FILE" # 等待导入完成 sleep 5 # 测试8: 查询导入状态 test_import_status "$TOKEN" "$TASK_ID" echo "" | tee -a "$REPORT_FILE" # 测试9: 查询导入失败记录 test_import_failures "$TOKEN" "$TASK_ID" echo "" | tee -a "$REPORT_FILE" ``` 3. **运行完整测试** ```bash ./test_staff_enterprise_relation_complete.sh ``` ### 修改测试数据 编辑脚本中的测试数据: ```bash # 测试2: 新增员工企业关系 local add_data=$(cat <