Blame view

项目文档相关/docs/test-reports/接口测试准备说明.md 4.42 KB
83a6fd1f   “wangming”   feat: 添加员工确认状态及相关...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  # 报销流程配置接口测试准备说明
  
  ## 当前状态
  
  **代码已完成**:所有接口代码已实现并通过编译检查
  **测试脚本已创建**`test_reimbursement_workflow_config_api.py`
  **测试文档已创建**`测试流程配置接口说明.md`
  
  ## 需要执行的步骤
  
  ### 1. 确保数据库表已创建
  
  执行 SQL 文件创建数据库表:
  ```bash
d8035736   “wangming”   Refactor project ...
15
16
  # 执行 项目文档相关/sql/创建报销流程配置表.sql
  mysql -u用户名 -p密码 数据库名 < 项目文档相关/sql/创建报销流程配置表.sql
83a6fd1f   “wangming”   feat: 添加员工确认状态及相关...
17
18
19
20
  ```
  
  或手动执行:
  ```sql
d8035736   “wangming”   Refactor project ...
21
  -- 查看 项目文档相关/sql/创建报销流程配置表.sql 文件内容并执行
83a6fd1f   “wangming”   feat: 添加员工确认状态及相关...
22
23
24
25
26
  ```
  
  ### 2. 启动后端服务
  
  ```bash
8daf47d0   “wangming”   修改访问地址
27
  # 启动后端服务,确保运行在 http://localhost:2015
83a6fd1f   “wangming”   feat: 添加员工确认状态及相关...
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
  # 具体启动命令根据项目配置而定
  ```
  
  ### 3. 安装测试依赖(如果需要)
  
  ```bash
  # 如果需要使用 Python 测试脚本,安装 requests 模块
  pip3 install requests
  
  # 或者使用用户级安装
  pip3 install --user requests
  ```
  
  ### 4. 运行测试
  
  **方式1:使用 Python 测试脚本**
  ```bash
  python3 test_reimbursement_workflow_config_api.py
  ```
  
  **方式2:使用 Postman 或类似工具**
  - 导入测试说明文档中的 curl 命令
  - 按顺序测试每个接口
  
  **方式3:使用 Swagger UI**
8daf47d0   “wangming”   修改访问地址
53
  - 访问 `http://localhost:2015/swagger`
83a6fd1f   “wangming”   feat: 添加员工确认状态及相关...
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
  - 找到 `LqReimbursementWorkflowConfig` 相关的接口
  - 逐个测试
  
  ## 接口列表(按测试顺序)
  
  ### ✅ 1. GET /api/Extend/LqReimbursementWorkflowConfig/Actions/GetEnabledList
  - **最简单**,先测试这个
  - 不需要参数
  - 返回启用的流程列表
  
  ### ✅ 2. GET /api/Extend/LqReimbursementWorkflowConfig
  - 测试分页和筛选
  - 参数:`currentPage=1&pageSize=20&keyword=测试`
  - 返回分页列表
  
  ### ✅ 3. POST /api/Extend/LqReimbursementWorkflowConfig
  - 创建新流程
  - 测试正常创建
  - 测试参数验证(空名称、空节点列表、节点顺序不连续等)
  
  ### ✅ 4. GET /api/Extend/LqReimbursementWorkflowConfig/{id}
  - 使用步骤3创建的ID
  - 验证返回的节点信息完整
  
  ### ✅ 5. PUT /api/Extend/LqReimbursementWorkflowConfig/{id}
  - 使用步骤3创建的ID
  - 测试更新功能
  - 验证节点数量变化
  - 验证数据一致性
  
  ## 快速验证清单
  
  在启动服务后,按以下顺序快速验证:
  
  - [ ] 服务能正常启动,无编译错误
  - [ ] 登录接口可以正常获取Token
  - [ ] 获取启用的流程列表返回空数组(或已有数据)
  - [ ] 创建流程配置成功,返回流程ID
  - [ ] 获取流程详细信息返回完整节点信息
  - [ ] 更新流程配置成功
  - [ ] 更新后查询,数据已正确更新
  - [ ] 参数验证正常工作(空名称、空节点等会返回错误)
  
  ## 常见问题
  
  ### Q: 服务无法启动?
  A: 检查是否有编译错误(除 LqEmployeeSalaryStatisticsService.cs 外)
  ```bash
  dotnet build netcore/src/Modularity/Extend/NCC.Extend/NCC.Extend.csproj
  ```
  
  ### Q: 数据库连接失败?
  A: 检查数据库配置和连接字符串
  
  ### Q: Token 获取失败?
  A: 检查登录接口是否正常,账户密码是否正确
  
  ### Q: 接口返回 404?
  A: 检查路由配置,确保接口路径正确
  - 应该是 `/api/Extend/LqReimbursementWorkflowConfig`
  - 不是 `/api/extend/...`(注意大小写)
  
  ### Q: 创建接口返回错误?
  A: 检查:
  1. 请求体格式是否正确(JSON)
  2. 节点顺序是否连续(1, 2, 3...)
  3. 节点名称是否为空
  4. Content-Type 是否为 `application/json`
  
  ## 测试数据示例
  
  ### 最小有效流程配置
  ```json
  {
    "workflowName": "测试流程",
    "isEnabled": 1,
    "description": "测试",
    "nodes": [
      {
        "nodeOrder": 1,
        "nodeName": "节点1",
        "approvalType": "会签",
        "isRequired": 1,
        "approverIds": [],
        "approverNames": []
      }
    ]
  }
  ```
  
  ### 完整流程配置(2个节点)
  ```json
  {
    "workflowName": "标准报销流程",
    "isEnabled": 1,
    "description": "适用于一般报销申请的审批流程",
    "nodes": [
      {
        "nodeOrder": 1,
        "nodeName": "部门经理审批",
        "approvalType": "会签",
        "isRequired": 1,
        "approverIds": [],
        "approverNames": []
      },
      {
        "nodeOrder": 2,
        "nodeName": "财务审批",
        "approvalType": "会签",
        "isRequired": 1,
        "approverIds": [],
        "approverNames": []
      }
    ]
  }
  ```
  
  ## 下一步
  
  完成接口测试后,可以:
  1. 修改报销申请创建接口,支持使用流程配置
  2. 前端页面开发和对接