2 lines
2.1 KiB
JSON
2 lines
2.1 KiB
JSON
{"role":"user","message":{"content":[{"type":"text","text":"<user_query>\n集成化测试和单元测试区别\n</user_query>"}]}}
|
||
{"role":"assistant","message":{"content":[{"type":"text","text":"## 集成测试和单元测试的区别\n\n### 单元测试(Unit Test)\n\n- **测什么**:单个“单元”——通常是函数、方法或很小一类在隔离环境下的行为。\n- **范围**:很小,不连真实数据库、消息队列、外部 HTTP 等(多用 Mock/Stub)。\n- **速度**:快,数量可以多,适合每次提交或 CI 里频繁跑。\n- **失败定位**:容易对准到某一行/某个方法。\n- **典型问题**:逻辑分支、边界条件、算法、纯业务规则在**假依赖**下是否正确。\n\n### 集成测试(Integration Test)\n\n- **测什么**:**多个组件或层级怎么一起工作**——例如 Service + 真实/测试数据库、ORM、Feign、消息中间件、多个模块装配后的流程。\n- **范围**:比单元大,会涉及 I/O、网络、事务、真实配置的一部分。\n- **速度**:通常更慢,环境更重,数量一般少于单元测试。\n- **失败定位**:可能涉及配置、数据、调用链,排查比单元测试稍难。\n- **典型问题**:SQL 是否正确、序列化/反序列化、跨服务协议、事务边界、与外部系统的契约(可用 test container 等)。\n\n### 一句话对比\n\n| 维度 | 单元测试 | 集成测试 |\n|----------|----------------|--------------------|\n| 依赖 | 尽量隔离/Mock | 真实或接近真实协作 |\n| 粒度 | 方法/类级别 | 模块/流程级别 |\n| 速度/成本| 快、便宜 | 慢、环境成本更高 |\n\n### 补充:和端到端(E2E)的关系\n\n集成测试介于单元和 E2E 之间:E2E 往往从用户入口(浏览器/API 全栈)走完整链路;集成测试通常只覆盖**系统内若干层的协作**,不必覆盖整个产品界面。\n\n如果你说的“集成化测试”是指你们项目里的某种具体框架或脚本命名,可以把名字或目录发我,我可以结合你们仓库说明它实际在测哪一层。\n\n[REDACTED]"}]}} |