SPT术语库

集成测试 Integration Test

创建订单时,页面请求、订单服务和库存服务需要一起工作,开发者要确认它们连接后仍能正确返回结果。

技术栈与工具约 10 分钟 · 从真实需求理解

1集成测试怎样确认多个模块真的接通?

INTEGRATION TEST · ORDER-041创建订单

一次请求穿过多个真实模块,结果要一起成立。

DEPENDENCY STATE
REQUEST01
POST /orders

带入商品和数量

SERVICE LINK02
ORDER SERVICE订单服务等待请求
INVENTORY库存服务等待调用

转发库存检查 → 确认可预留数量

INVENTORY03

等待库存返回

RESPONSE04

等待依赖结果

等待多个模块完成连接

Integration Test 不只调用一个函数,而是把多个真实模块接起来检查。比如创建订单时,页面请求进入订单服务,订单服务再询问库存服务,最后的订单响应要能反映库存返回的结果。

  • 请求先进入一个模块,再沿真实连接传给下一个模块。
  • 每个模块的输入和输出都要能在链路上找到对应关系。
  • 依赖可用时订单成功,依赖不足时响应也要明确反映失败原因。

2集成测试不是单元测试,也不是整页验收

单元测试把范围缩到一个函数或组件,集成测试把几个真实模块接起来,整页验收则从用户任务开始检查完整体验。它们关注的连接范围不同,不能只因为最后显示了成功就互相替代。

  • 看到一个函数、固定输入和局部 Expected/Received,想到 Unit Test。
  • 看到多个服务之间传递请求和响应,想到 Integration Test。
  • 看到用户登录、填写、支付到结果的完整路径,通常已经是更大范围的整页验收。

3一次集成测试由哪些连接组成?

INTEGRATION TEST · ORDER-041POST /orders
01
REQUESTPOST /orders

进入集成链路

02
SERVICE LINKorder → stock

真实模块相互调用

03
DEPENDENCYstock = 8

库存允许预留

04
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 主要要确认什么?

请选择一个最符合题意的答案

选择答案后自动进入下一题

社区延伸

看别人真实遇到过什么

社区帖子还没有关联到这个词条。