集成测试 Integration Test
创建订单时,页面请求、订单服务和库存服务需要一起工作,开发者要确认它们连接后仍能正确返回结果。
技术栈与工具约 10 分钟 · 从真实需求理解
1集成测试怎样确认多个模块真的接通?
INTEGRATION TEST · ORDER-041创建订单
一次请求穿过多个真实模块,结果要一起成立。
DEPENDENCY STATE
带入商品和数量
ORDER SERVICE订单服务
等待请求INVENTORY库存服务
等待调用转发库存检查 → 确认可预留数量
等待库存返回
等待依赖结果
等待多个模块完成连接
Integration Test 不只调用一个函数,而是把多个真实模块接起来检查。比如创建订单时,页面请求进入订单服务,订单服务再询问库存服务,最后的订单响应要能反映库存返回的结果。
- 请求先进入一个模块,再沿真实连接传给下一个模块。
- 每个模块的输入和输出都要能在链路上找到对应关系。
- 依赖可用时订单成功,依赖不足时响应也要明确反映失败原因。
2集成测试不是单元测试,也不是整页验收
单元测试把范围缩到一个函数或组件,集成测试把几个真实模块接起来,整页验收则从用户任务开始检查完整体验。它们关注的连接范围不同,不能只因为最后显示了成功就互相替代。
- 看到一个函数、固定输入和局部 Expected/Received,想到 Unit Test。
- 看到多个服务之间传递请求和响应,想到 Integration Test。
- 看到用户登录、填写、支付到结果的完整路径,通常已经是更大范围的整页验收。
3一次集成测试由哪些连接组成?
REQUESTPOST /orders
进入集成链路
SERVICE LINKorder → stock
真实模块相互调用
DEPENDENCYstock = 8
库存允许预留
RESPONSE201 CREATED
reserved: true
拆开一次集成测试,可以看到请求从入口进入,经过真实服务节点,再把依赖返回带回最终响应。每个节点都要能说明自己接收了什么、返回了什么。
- REQUEST 是进入链路的输入,说明这次集成检查从哪里开始。
- SERVICE LINK 是多个真实模块之间的调用关系,说明结果怎样传递。
- DEPENDENCY RESULT 是库存等依赖返回的状态,它会影响后面的订单响应。
- RESPONSE 是整条连接最后对外给出的结果,必须和依赖状态一致。
4怎样把集成测试交给 Agent?
请为创建订单写一个 Integration Test,使用真实的订单服务和库存服务连接;库存可用时断言返回 201 Created 且 reserved=true,库存不足时断言返回 409 Conflict,并在失败时指出是哪一个模块的输入、连接或返回不符合预期。
5不用背,看看你能不能判断
1 / 3
Integration Test 主要要确认什么?
请选择一个最符合题意的答案
社区延伸
看别人真实遇到过什么
社区帖子还没有关联到这个词条。