# RocketMQ 集成测试报告
# 1. 测试范围
对应文件:test/Air.Cloud.IntegrationTest/Modules/RocketMQ/RocketMQRealProxyIntegrationTests.cs。
目标是连接真实 RocketMQ 5.x Proxy,验证 Air.Cloud.Modules.RocketMQ 在真实消息队列环境下的发布、消费和 Ack 能力。
# 2. 测试环境
| 配置项 | 当前值 |
|---|---|
RocketMQIntegration:RunRocketMQTests | false |
RocketMQIntegration:Endpoints | 127.0.0.1:8081 |
RocketMQIntegration:Topic | air-cloud-it |
RocketMQIntegration:TimeoutSeconds | 30 |
# 3. 测试内容与边界
| 测试目标 | 边界内入参 | 边界外 / 异常入参 | 预期结果 |
|---|---|---|---|
| 标准发布消费 | Topic 为配置中的 RocketMQIntegration:Topic,消息内容为测试载荷 | 无真实 Proxy 时默认跳过 | 消息可被真实 RocketMQ Proxy 投递并被消费者消费,内容一致。 |
| 消费者组隔离 | 每次测试生成唯一 GroupId | 重复消费历史消息 | 降低历史消息干扰。 |
| Ack 行为 | 业务处理成功 | 无 | 模块调用 RocketMQ Ack,消息不再按不可见时间重复投递。 |
# 4. 运行方式
真实集成测试默认关闭。启用前需要准备 RocketMQ 5.x Proxy、Topic 与 ConsumerGroup。
{
"RocketMQIntegration": {
"RunRocketMQTests": true,
"Endpoints": "127.0.0.1:8081",
"Topic": "air-cloud-it",
"TimeoutSeconds": 30
}
}
运行命令:
dotnet test test/Air.Cloud.IntegrationTest/Air.Cloud.IntegrationTest.csproj --filter "Module=RocketMQ"
当前默认配置下 RunRocketMQTests = false,过滤命令结果为 1/1 通过,验证的是关闭时的跳过路径,不代表真实 RocketMQ Proxy 往返已通过。
# 5. 对应目标中间件版本
当前实现使用 RocketMQ.Client 5.1.0,面向 RocketMQ 5.x gRPC Proxy。测试报告不臆测具体服务端版本。