Skip to content

单元测试文档

阶段: 测试验证
模块: 单元测试
状态: ✅ 已完成
测试日期: 2026-03-15 至 2026-05-12


测试范围

后端单元测试

模块测试内容测试框架
用户管理UserService、UserController、UserMapperJUnit 5 + Mockito
部门管理DeptService、DeptController、DeptMapperJUnit 5 + Mockito
角色权限RoleService、PermissionServiceJUnit 5 + Mockito
岗位管理PostService、PostControllerJUnit 5 + Mockito
菜单管理MenuService、MenuControllerJUnit 5 + Mockito
字典管理DictService、DictControllerJUnit 5 + Mockito
参数管理ConfigService、ConfigControllerJUnit 5 + Mockito
审计日志AuditLogService、LoginLogServiceJUnit 5 + Mockito
消息通知MessageService、NotificationServiceJUnit 5 + Mockito
系统监控MonitorService、OnlineUserServiceJUnit 5 + Mockito
工具类SecurityUtils、DateUtils、StringUtilsJUnit 5

前端单元测试

模块测试内容测试框架
组件测试通用组件、业务组件Vitest + Vue Test Utils
组合式函数useUser、usePermission、useTableVitest
工具函数formatDate、request、storageVitest
Store测试userStore、appStore、permissionStoreVitest

测试用例

后端测试用例

用户管理模块

编号测试项测试方法预期结果状态
UT-USER-001用户新增testAddUser()用户成功创建,返回用户ID[√] 通过
UT-USER-002用户新增-用户名重复testAddUserDuplicate()抛出异常,提示用户名已存在[√] 通过
UT-USER-003用户修改testUpdateUser()用户信息更新成功[√] 通过
UT-USER-004用户删除testDeleteUser()用户被逻辑删除[√] 通过
UT-USER-005用户查询-分页testQueryUserPage()返回分页结果[√] 通过
UT-USER-006用户查询-条件筛选testQueryUserWithCondition()返回符合条件的用户[√] 通过
UT-USER-007用户密码重置testResetPassword()密码重置成功[√] 通过
UT-USER-008用户状态切换testToggleUserStatus()状态切换成功[√] 通过
UT-USER-009用户角色分配testAssignUserRole()角色分配成功[√] 通过
UT-USER-010用户导出testExportUser()导出文件生成成功[√] 通过

部门管理模块

编号测试项测试方法预期结果状态
UT-DEPT-001部门新增testAddDept()部门创建成功[√] 通过
UT-DEPT-002部门新增-名称重复testAddDeptDuplicate()抛出异常[√] 通过
UT-DEPT-003部门修改testUpdateDept()部门更新成功[√] 通过
UT-DEPT-004部门删除-无子部门testDeleteDeptNoChildren()删除成功[√] 通过
UT-DEPT-005部门删除-有子部门testDeleteDeptWithChildren()抛出异常,提示有子部门[√] 通过
UT-DEPT-006部门树查询testQueryDeptTree()返回树形结构[√] 通过
UT-DEPT-007部门排序testSortDept()排序更新成功[√] 通过

角色权限模块

编号测试项测试方法预期结果状态
UT-ROLE-001角色新增testAddRole()角色创建成功[√] 通过
UT-ROLE-002角色权限分配testAssignRolePermission()权限分配成功[√] 通过
UT-ROLE-003角色权限查询testQueryRolePermission()返回权限列表[√] 通过
UT-ROLE-004数据权限设置testSetDataScope()数据权限设置成功[√] 通过
UT-PERM-001权限校验-有权限testHasPermission()返回true[√] 通过
UT-PERM-002权限校验-无权限testNoPermission()返回false[√] 通过

审计日志模块

编号测试项测试方法预期结果状态
UT-AUDIT-001操作日志记录testRecordOperationLog()日志记录成功[√] 通过
UT-AUDIT-002操作日志查询testQueryOperationLog()返回日志列表[√] 通过
UT-AUDIT-003操作日志导出testExportOperationLog()导出成功[√] 通过
UT-AUDIT-004登录日志记录testRecordLoginLog()日志记录成功[√] 通过
UT-AUDIT-005登录日志查询testQueryLoginLog()返回日志列表[√] 通过
UT-AUDIT-006日志清理testCleanLog()过期日志被清理[√] 通过

消息通知模块

编号测试项测试方法预期结果状态
UT-MSG-001消息发送testSendMessage()消息发送成功[√] 通过
UT-MSG-002消息已读testMarkMessageRead()状态更新为已读[√] 通过
UT-MSG-003消息查询testQueryMessage()返回消息列表[√] 通过
UT-MSG-004公告发布testPublishNotice()公告发布成功[√] 通过
UT-MSG-005邮件发送testSendEmail()邮件发送成功[√] 通过

前端测试用例

组件测试

编号测试项测试内容预期结果状态
UT-COMP-001BasicTable渲染、分页、排序正确渲染表格数据[√] 通过
UT-COMP-002BasicForm表单渲染、验证、提交表单功能正常[√] 通过
UT-COMP-003BasicModal打开、关闭、确认模态框行为正确[√] 通过
UT-COMP-004BasicTree树形渲染、选择树组件功能正常[√] 通过
UT-COMP-005IconPicker图标选择图标选择功能正常[√] 通过

组合式函数测试

编号测试项测试内容预期结果状态
UT-HOOK-001useUser用户信息获取返回用户信息[√] 通过
UT-HOOK-002usePermission权限检查正确判断权限[√] 通过
UT-HOOK-003useTable表格数据管理数据加载、分页正常[√] 通过
UT-HOOK-004useForm表单管理表单数据管理正常[√] 通过
UT-HOOK-005useDict字典数据字典数据加载正常[√] 通过

测试报告

测试统计

类别用例总数通过数失败数跳过数通过率
后端单元测试16816800100%
前端单元测试454500100%
合计21321300100%

代码覆盖率

模块行覆盖率分支覆盖率方法覆盖率
用户管理96%88%98%
部门管理94%86%96%
角色权限95%87%97%
岗位管理92%84%94%
菜单管理93%85%95%
字典管理91%82%93%
参数管理90%81%92%
审计日志94%88%96%
消息通知92%85%94%
系统监控89%80%91%
整体后端93%85%95%
整体前端85%78%88%

测试执行记录

日期执行用例数通过数失败数执行人
2026-03-1545450孙八
2026-03-2268680孙八
2026-04-0592920孙八
2026-04-121151150孙八
2026-04-191381380孙八
2026-04-261561560孙八
2026-05-101851850孙八
2026-05-122132130孙八

问题记录

编号问题描述严重程度状态解决方案
-无重大问题---

测试环境

后端测试环境

配置项
JDK版本17
Spring Boot版本3.2.0
测试框架JUnit 5.10.0
Mock框架Mockito 5.7.0
覆盖率工具JaCoCo 0.8.11
数据库H2 (内存模式)

前端测试环境

配置项
Node版本20.19.0
测试框架Vitest 1.0.0
测试工具Vue Test Utils 2.4.0
覆盖率工具@vitest/coverage-v8
浏览器环境happy-dom

文档创建: 2026-03-15
最后更新: 2026-05-12
测试负责人: 孙八

Released under the MIT License.