test: P3-1 第47波单元测试(tts_workflow补充,+17) #830

Merged
xiaoxia merged 1 commits from test/unit-test-wave47 into develop 2026-07-24 16:44:41 +08:00
Owner

TTS Workflow 服务补充测试(+17)

在原有25个基础上新增17个边界和细节测试:

TestTransferAudioToOSS (4个)

  • mp3/wav/未知格式 content-type 正确映射
  • storage_key 路径格式正确 (tts-outputs/{user_id}/{job_id}.{format})

TestResynthesizeParams (5个)

  • speed/volume 参数从 metadata 读取
  • 无 metadata 时默认值正确 (speed=1.0, volume=50)
  • 重新合成未返回 audio_url 时标记失败

TestPollSegmentTasks (3个)

  • 所有分段缺 audio_url 时全部重新合成
  • 已有 audio_url 的分段不重复合成
  • 部分缺 audio_url 只重合成缺失段

TestSegmentSyncDetails (3个)

  • 分段数量正确写入 metadata
  • 分段合成时长正确累加
  • 某段无 audio_url 抛出 TTSWorkflowError

TestUploadMergedToOSS (2个)

  • 上传成功返回永久 URL 和 storage_key
  • 上传失败返回空字符串

测试结果

本地全量:42 passed (workflow单文件)

### TTS Workflow 服务补充测试(+17) 在原有25个基础上新增17个边界和细节测试: **TestTransferAudioToOSS (4个)** - mp3/wav/未知格式 content-type 正确映射 - storage_key 路径格式正确 (tts-outputs/{user_id}/{job_id}.{format}) **TestResynthesizeParams (5个)** - speed/volume 参数从 metadata 读取 - 无 metadata 时默认值正确 (speed=1.0, volume=50) - 重新合成未返回 audio_url 时标记失败 **TestPollSegmentTasks (3个)** - 所有分段缺 audio_url 时全部重新合成 - 已有 audio_url 的分段不重复合成 - 部分缺 audio_url 只重合成缺失段 **TestSegmentSyncDetails (3个)** - 分段数量正确写入 metadata - 分段合成时长正确累加 - 某段无 audio_url 抛出 TTSWorkflowError **TestUploadMergedToOSS (2个)** - 上传成功返回永久 URL 和 storage_key - 上传失败返回空字符串 ### 测试结果 本地全量:42 passed (workflow单文件)
xiaoxia added 1 commit 2026-07-24 14:58:37 +08:00
test: P3-1 第47波单元测试(tts_workflow补充,+17)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 31s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 39s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m24s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m34s
CI/CD Pipeline / PR Build Worker Image (pull_request) Failing after 16s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 27s
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 2m0s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 29s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m3s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m1s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m18s
AI Code Review / AI Code Review (pull_request) Successful in 4m38s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m30s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 4m47s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 42s
b5427bf52b
补充 TTSWorkflowService 边界和细节测试:

TestTransferAudioToOSS (4个):
- mp3/wav/未知格式 content-type 正确映射
- storage_key 路径格式正确

TestResynthesizeParams (5个):
- speed/volume 从metadata读取
- 无metadata时默认值(1.0/50)
- 重新合成无audio_url时标记失败

TestPollSegmentTasks (3个):
- 所有分段缺audio_url时全部重合成
- 已有audio_url的分段不重合成
- 部分缺audio_url的分段只重合成缺失段

TestSegmentSyncDetails (3个):
- 分段数量写入metadata
- 分段时长累加
- 某段无audio_url抛出TTSWorkflowError

TestUploadMergedToOSS (2个):
- 上传成功返回URL和storage_key
- 上传失败返回空字符串

合计 +17 个测试
Collaborator

代码审查结果 - PR #830

⚠️ 问题(0个需要修改)

💡 建议(1个可选)

  1. tests/unit/test_tts_workflow_service.py: 建议使用 pytest.fixture 提取重复的测试初始化代码
    • 说明:多个测试用例中存在重复的 make_jobFakeTTSJobRepositoryFakeCosyVoiceServiceFakeStorageServiceTTSWorkflowService 初始化代码。
    • 建议:将这些通用的 Mock 对象和 Service 实例封装为 pytest.fixture,可以显著减少代码重复,提高测试代码的可读性和可维护性。例如,将 svc 实例化过程提取为 fixture。

格式检查通过 | 逻辑审查通过 | 性能良好


🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 07:05:08 | 模型:

## 代码审查结果 - PR #830 ### ⚠️ 问题(0个需要修改) ### 💡 建议(1个可选) 1. **tests/unit/test_tts_workflow_service.py**: 建议使用 `pytest.fixture` 提取重复的测试初始化代码 - **说明**:多个测试用例中存在重复的 `make_job`、`FakeTTSJobRepository`、`FakeCosyVoiceService`、`FakeStorageService` 和 `TTSWorkflowService` 初始化代码。 - **建议**:将这些通用的 Mock 对象和 Service 实例封装为 `pytest.fixture`,可以显著减少代码重复,提高测试代码的可读性和可维护性。例如,将 `svc` 实例化过程提取为 fixture。 --- ✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能良好 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 07:05:08 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit 70eea45f7f into develop 2026-07-24 16:44:41 +08:00
xiaoxia deleted branch test/unit-test-wave47 2026-07-24 16:44:41 +08:00

🗑️ 预览环境已清理

PR #830 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #830 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.