AIGC 全链路集成测试体系
概述
本文档介绍了项目中的 AIGC 全链路集成测试体系,该体系用于验证火山引擎、阿里云 ICE 等 AIGC 服务的完整业务流程。
目录
测试架构设计
核心设计理念
本测试体系采用"序列化巡检测试"(Pipeline Testing)的设计模式,模拟前端真实调用时序,确保完整的业务流程能够正确执行。
主要特点
- 链路时序传递 - 测试用例不是孤立的,而是有状态流转的
- 真实接口调用 - 通过 HTTP 请求直接调用后端 API
- 长轮询支持 - 适配 AIGC 服务的异步特性
- 结果验证 - 验证最终生成的图片、视频、文案等资源
测试文件结构
api/tests/api/
├── AigcImagePipelineTest.php # 火山生图链路测试
├── AigcVideoPipelineTest.php # 阿里云 IMS 混剪链路测试
├── AigcCopyPipelineTest.php # 大模型文案生成链路测试
├── StoryboardWebApiTest.php # Storyboard Web API 测试
├── test_route_simple.php # 简单路由测试
└── test_workflow.php # 工作流测试测试分类
1. 火山生图链路测试 (AigcImagePipelineTest)
包含测试:
- 完整的图片生成流程测试
- 模型列表接口测试
- TTS 语音合成连通性测试
测试流程:
提交任务 → 提取 taskId → 轮询结果 → 验证图片链接 → 验证可访问性2. 阿里云 IMS 混剪链路测试 (AigcVideoPipelineTest)
包含测试:
- 完整的视频混剪流程测试
- ICE 历史记录列表测试
- 预签名 URL 生成测试
测试流程:
获取STS Token → 素材注册 → 创建剪辑工程 → 提交混剪任务 → 轮询结果 → 获取预签名URL3. 大模型文案生成链路测试 (AigcCopyPipelineTest)
包含测试:
- 营销文案生成测试
- 评价回复生成测试
- 多平台文案生成测试
- 火山引擎 ARK 连通性测试
测试流程:
构建提示词 → 调用 LLM → 获取生成结果 → 验证文案内容快速开始
前置要求
- PHP 8.0+
- Composer 依赖已安装
- API 服务器正在运行(默认:http://localhost:8000)
安装依赖
bash
cd api
composer install配置环境
编辑 phpunit.xml 中的 API 基础 URL:
xml
<php>
<env name="API_BASE_URL" value="http://localhost:8000"/>
</php>或通过环境变量设置:
bash
export API_BASE_URL=http://your-api-server:port运行测试
运行所有测试
bash
vendor/bin/phpunit tests/仅运行 AIGC E2E 测试
bash
vendor/bin/phpunit --group aigc-e2e运行特定测试套件
bash
vendor/bin/phpunit --testsuite "AIGC E2E Tests"运行单个测试文件
bash
vendor/bin/phpunit tests/api/AigcImagePipelineTest.php运行单个测试方法
bash
vendor/bin/phpunit tests/api/AigcImagePipelineTest.php --filter testVolcengineImageGenerationPipeline详细文档
测试分组
所有 AIGC E2E 测试都标记为 @group aigc-e2e,这样可以:
- 日常开发时只运行快速单元测试
- 需要验收时才运行长耗时的 AIGC 测试
- CI/CD 流水线中选择性执行
注意事项
⚠️ 重要提醒:
- 成本考虑 - AIGC 接口调用会产生费用,请勿频繁运行完整测试
- 耗时较长 - 某些测试可能需要数分钟才能完成
- 网络依赖 - 需要能够访问火山引擎和阿里云服务
- 认证要求 - 某些接口可能需要有效的认证令牌
贡献指南
如需添加新的测试用例,请遵循以下原则:
- 测试文件命名:
{功能}PipelineTest.php - 测试方法命名:
test{描述性名称} - 添加
@group aigc-e2e注解 - 提供详细的注释和文档
- 遵循现有测试的代码风格
相关链接
许可证
本测试体系遵循项目主许可证。