本文档为 OpenCourse 团队测试文档之 DepartmentRepoTest
测试的主要功能:
-
上下文加载 (
contextLoads)- 验证 DepartmentRepo 和 TestEntityManager 正确注入
-
按名称查找部门 (
findByName)- 部门存在时返回对应部门
- 部门不存在时返回空 Optional
- 名称为 null 时返回空 Optional
-
按名称模糊查找部门 (
findByNameContainingIgnoreCase)- 存在匹配部门时返回匹配列表
- 大小写不敏感匹配成功
- 无匹配结果时返回空列表
- 空关键词时返回所有部门
-
检查部门名称是否存在 (
existsByName)- 部门存在时返回 true
- 部门不存在时返回 false
- 名称为 null 时返回 false
-
按名称升序查找所有部门 (
findAllByOrderByNameAsc)- 返回按字母顺序排序的部门列表
- 无部门时返回空列表
- 单个部门时返回单项列表
-
保存部门 (
save)- 保存新部门并自动生成 ID
-
删除部门 (
deleteById)- 成功从数据库中删除部门
-
按 ID 查找部门 (
findById)- 部门存在时返回对应部门
- 部门不存在时返回空 Optional
-
更新部门 (
save- 更新操作) -
修改现有部门记录成功
-
部门名称唯一性验证
- 验证部门名称的唯一性约束
- 总测试方法数: 20 个
- 基础 CRUD 操作: 5 个
- 查询方法测试: 10 个
- 边界条件测试: 4 个
- 数据完整性测试: 1 个
testFindByName_*(3个): 测试按名称精确查找testFindByNameContainingIgnoreCase_*(4个): 测试模糊查找testExistsByName_*(3个): 测试名称存在性检查testFindAllByOrderByNameAsc_*(3个): 测试排序查询testFindById_*(2个): 测试按ID查找
testSaveDepartment_*(1个): 测试创建操作testDeleteDepartment_*(1个): 测试删除操作testUpdateDepartment_*(1个): 测试更新操作testFindById_*(2个): 测试读取操作
- null 值处理 (3个)
- 空结果处理 (2个)
- 不存在记录处理 (3个)
- 部门名称唯一性验证
- Spring Data JPA
- H2 内存数据库 (测试环境)
- AssertJ 断言库
- JUnit 5 测试框架