用途:该技能用于测试连接外部系统的适配器与网关,覆盖单元级(mock)与集成级(真实服务)两类场景。适用于测试 Shopify 网关、mock HTTP 响应、测试 Kafka 适配器,或在 mock 与容器之间做选择。不适用于领域测试、应用层测试或通用 mock 模式。
主要能力:
- 单元测试 mock HTTP 响应,使用 aioresponses 模拟 Shopify API 返回、分页、API 错误、限流(429)等。
- mock Kafka 消息,用 AsyncMock/MagicMock 构造消费者与消息,测试消费与反序列化错误。
- mock ClickHouse 客户端,用 MagicMock(spec=Client) 验证查询执行与错误处理。
- 集成测试使用 testcontainers,如 KafkaContainer、ClickHouseContainer 启动真实服务,验证消息生产消费与 schema 初始化。
- 测试错误路径,包括超时、连接错误、响应格式异常。
使用方式:按范围选择策略。单元测试示例:with aioresponses() as mock_http: mock_http.get(url, payload=...)。集成测试示例:@pytest.fixture(scope="module") def kafka_container(): with KafkaContainer() as kafka: yield kafka。策略矩阵建议:Shopify API 与 HTTP 客户端用 mock;Kafka 生产者/消费者与 ClickHouse 优先用容器集成测试。
适用场景:适配器层测试、外部服务交互验证、mock 与容器选型决策。
限制:需 Python 3.11+、pytest >= 7.0、pytest-asyncio >= 0.20.0、aioresponses、testcontainers >= 3.7.0。具体实现细节、收费与平台支持暂未提供。