Spring Boot 集成测试:Testcontainers 让测试环境不再痛苦
"在我的机器上能跑" —— 这句话终结者。用 Testcontainers 让集成测试环境与生产保持一致。
1. 集成测试 vs 单元测试
1.1 两者的定位
单元测试(Unit Test)
├── 测试范围:单个类/方法
├── 依赖处理:Mock 所有外部依赖
├── 执行速度:毫秒级
├── 目的:验证代码逻辑正确性
└── 类比:测试一个齿轮是否能正常运转
集成测试(Integration Test)
├── 测试范围:多个组件协作
├── 依赖处理:使用真实的数据库、消息队列等
├── 执行速度:秒级
├── 目的:验证组件间交互正确性
└── 类比:测试齿轮组装后整台机器能否运转
大约 10 分钟