fix(test): hevc 转码测试彻底移除 video_processing sys.modules mock 注入(39 用例跨文件污染修复) #1568

Merged
xiaoxia merged 5 commits from fix/test-hevc-mock-no-sysmodules into develop 2026-08-31 11:26:42 +08:00
Owner

背景

PR #1567 v3 修复后,CI Unit Tests 仍有 39 个用例失败(run 42831/42832)。根因:test_ingest_hevc_transcode_task.py 模块级向 sys.modules 注入 video_processing.oss_helpers / video_processing.thumbnail_generator 的 MagicMock,即使清理也因 video_processing/__init__.pyfrom . import oss_helpers 导致包属性残留,跨文件污染:

受害者文件 失败数 症状
test_oss_helpers_pure.py ~10 normalize_storage_key() 返回 MagicMock
test_oss_upload_crash_fix.py ~7 oss_bucket() 返回 MagicMock
test_p02_worker_oss_fix.py ~10 oss_bucket() / upload_to_oss() 返回 MagicMock
test_ingest_hevc_transcode_task.py 2 upload_to_oss mock called 0 times

修复

彻底不再向 sys.modules 注入 video_processing.* mock

  1. 删除 sys.modules["video_processing.oss_helpers"] = MagicMock()thumbnail_generator 同款
  2. 模块级直接 from video_processing import oss_helpers as _oss_helpers_real(CI 环境有 oss2 / requests 等依赖)
  3. _start_patches()patch.object(_oss_helpers_real, "upload_to_oss", ...) 打在真实模块属性上
  4. thumb patcher 从字符串目标 patch("video_processing.thumbnail_generator.extract_first_frame", ...) 改为 patch.object(_thumb_gen_real, "extract_first_frame", ...)
  5. worker_app.db / worker_app.celery_app mock 保留(独立包树,不影响共享工具包)

影响面

  • 纯测试文件改动,不碰业务代码
  • worker_app mock 泄漏保护不变
  • patch.object().stop() 自动还原模块属性,零跨文件副作用

🤖 Generated by [构建服务器运维] agent

## 背景 PR #1567 v3 修复后,CI Unit Tests 仍有 39 个用例失败(run 42831/42832)。根因:`test_ingest_hevc_transcode_task.py` 模块级向 `sys.modules` 注入 `video_processing.oss_helpers` / `video_processing.thumbnail_generator` 的 MagicMock,即使清理也因 `video_processing/__init__.py` 的 `from . import oss_helpers` 导致包属性残留,跨文件污染: | 受害者文件 | 失败数 | 症状 | |---|---|---| | test_oss_helpers_pure.py | ~10 | `normalize_storage_key()` 返回 MagicMock | | test_oss_upload_crash_fix.py | ~7 | `oss_bucket()` 返回 MagicMock | | test_p02_worker_oss_fix.py | ~10 | `oss_bucket()` / `upload_to_oss()` 返回 MagicMock | | test_ingest_hevc_transcode_task.py | 2 | `upload_to_oss` mock called 0 times | ## 修复 **彻底不再向 `sys.modules` 注入 `video_processing.*` mock**: 1. 删除 `sys.modules["video_processing.oss_helpers"] = MagicMock()` 和 `thumbnail_generator` 同款 2. 模块级直接 `from video_processing import oss_helpers as _oss_helpers_real`(CI 环境有 oss2 / requests 等依赖) 3. `_start_patches()` 中 `patch.object(_oss_helpers_real, "upload_to_oss", ...)` 打在真实模块属性上 4. thumb patcher 从字符串目标 `patch("video_processing.thumbnail_generator.extract_first_frame", ...)` 改为 `patch.object(_thumb_gen_real, "extract_first_frame", ...)` 5. `worker_app.db` / `worker_app.celery_app` mock 保留(独立包树,不影响共享工具包) ## 影响面 - 纯测试文件改动,不碰业务代码 - worker_app mock 泄漏保护不变 - `patch.object().stop()` 自动还原模块属性,零跨文件副作用 🤖 Generated by [构建服务器运维] agent
xiaoxia added 1 commit 2026-08-31 09:04:24 +08:00
fix(test): hevc 转码测试不再注入 video_processing mock 到 sys.modules
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
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 / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (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 / Check if frontend-only change (pull_request) Successful in 3m43s
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m1s
AI Code Review / AI Code Review (pull_request) Successful in 4m38s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 4m44s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 4m48s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m57s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m44s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m51s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 7m8s
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
e5d7fddfcf
根因:sys.modules 注入 video_processing.oss_helpers / thumbnail_generator 的
MagicMock 即使清理,仍因 video_processing/__init__.py 的
`from . import oss_helpers` 导致包属性残留为 MagicMock,
跨文件污染 test_oss_helpers_pure / test_oss_upload_crash_fix /
test_p02_worker_oss_fix 等(39 个用例失败)。

修复:不再向 sys.modules 注入 video_processing.* mock,改为直接
import 真实模块后用 patch.object 打补丁(patch.stop 自动还原)。
worker_app.db / celery_app mock 保留(独立包树,不影响共享工具包)。

🚀 预览环境已部署

项目 详情
PR号 #1568
预览链接 https://pr-1568.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1568 | | 预览链接 | [https://pr-1568.preview.xiaoxiajianji.com](https://pr-1568.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot added 1 commit 2026-08-31 09:11:46 +08:00
style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
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 / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m11s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m6s
AI Code Review / AI Code Review (pull_request) Successful in 4m27s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 4m36s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 4m43s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m52s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m1s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 5m18s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m13s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 3m3s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 6m25s
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 Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m12s
CI/CD Pipeline / CI Gate (pull_request) Failing after 44s
26856e1015
auto-approve-bot approved these changes 2026-08-31 09:20:32 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-08-31 09:20:32 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
xiaoxia added 1 commit 2026-08-31 09:23:19 +08:00
fix(test): thumb patcher 改回字符串目标
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 0s
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 / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 2m35s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m1s
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m48s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 4m0s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m5s
AI Code Review / AI Code Review (pull_request) Successful in 4m26s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m40s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m45s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 5m49s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 3m1s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 6m25s
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 Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m8s
CI/CD Pipeline / CI Gate (pull_request) Failing after 47s
2662cd78fe
patch.object(_thumb_gen_real) 对 ingest.py 的局部 import 不生效
(模块对象可能不同),改回 patch(字符串目标) 从 sys.modules 取真实模块打补丁。
核心修复(不注入 video_processing mock 到 sys.modules)不变。
xiaoxia added 1 commit 2026-08-31 10:58:00 +08:00
fix(test): upload_to_oss patcher 改用字符串目标,修复 ingest.py 局部 import 不生效
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
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 / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2m59s
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m56s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 4m20s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m22s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m23s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 4m29s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 4m45s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 5m47s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m10s
AI Code Review / AI Code Review (pull_request) Failing after 6m46s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 4m52s
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 Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m9s
CI/CD Pipeline / CI Gate (pull_request) Successful in 26s
8d8b565499
patch.object(_oss_helpers_real, ...) 对 ingest.py 函数体内的
from video_processing.oss_helpers import upload_to_oss 不生效,
改为 patch("video_processing.oss_helpers.upload_to_oss", ...)
与 thumb patcher 策略一致,确保 patch.start() 时从 sys.modules
解析模块对象再打补丁。
xiaoxia added 1 commit 2026-08-31 11:11:45 +08:00
fix(test): 清理 sys.modules 时保留 video_processing.* 模块
CI/CD Pipeline / Check if frontend-only change (push) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / PR Build API Image (push) Has been skipped
CI/CD Pipeline / PR Build Web Image (push) Has been skipped
CI/CD Pipeline / PR Build Worker Image (push) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
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 / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (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 / Check push changed paths (push) Successful in 4m6s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 4m17s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 4m48s
CI/CD Pipeline / Validate - Migration (alembic) (push) Successful in 5m2s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 6m16s
CI/CD Pipeline / Validate - Type Check (mypy) (push) Successful in 6m13s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 6m31s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 7m59s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 9m37s
CI/CD Pipeline / Build Staging Web Image (push) Has been skipped
AI Code Review / AI Code Review (pull_request) Successful in 10m24s
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Code Quality (push) Successful in 10m59s
CI/CD Pipeline / Build Staging API Image (push) Successful in 1m3s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 3m23s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m50s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m49s
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 / Retag skipped Staging API Image (push) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (push) Successful in 1m56s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1m14s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 1m4s
CI/CD Pipeline / Unit Tests (push) Successful in 18m44s
CI/CD Pipeline / Build Production API Image (push) Has been skipped
CI/CD Pipeline / Build Production Web Image (push) Has been skipped
CI/CD Pipeline / Build Production Worker Image (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 2m33s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 3m39s
CI/CD Pipeline / Integration Tests (push) Successful in 7m16s
CI/CD Pipeline / CI Gate (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m7s
CI/CD Pipeline / Canary Release to Production (push) Has been skipped
301b591037
清理逻辑跳过 video_processing.* 前缀的模块,确保 patch() 字符串
目标解析到的模块对象与 ingest_mod 内部引用的一致,避免 mock 失效。
修复 AI Code Review 阻塞级问题。
Collaborator

【阻塞级判定】

  • 是否存在阻塞级问题:否
  • 阻塞级问题数量:0 个

📊 审查概览

  • 整体评价:通过
  • 建议级问题数量:0 个

🔴 阻塞级问题(必须修复)

💡 改进建议(不阻塞合并)

良好实践

  1. 修复测试隔离问题:PR 正确识别并修复了 sys.modules 注入 Mock 导致的跨文件污染问题。通过移除对 video_processing 的 Mock 注入,改为导入真实模块并在测试时进行 patch,有效避免了因 __init__.py 导入机制导致的包属性残留为 MagicMock 的现象。
  2. 清理逻辑优化:修改后的 sys.modules 清理逻辑(跳过 video_processing)与新的导入策略(保留真实模块)保持一致,逻辑自洽,确保了测试环境在执行前后状态的预期行为。
  3. 注释清晰:代码注释详细解释了修改原因(避免 MagicMock 污染)以及实现细节(时序冲突、跨文件影响),有助于后续维护。

格式检查通过 | 逻辑审查通过 | 性能无明显问题


🤖 由 AI 代码审查机器人自动生成 | 2026-08-31 03:16:00 | 模型:

### 【阻塞级判定】 - 是否存在阻塞级问题:否 - 阻塞级问题数量:0 个 ### 📊 审查概览 - 整体评价:通过 - 建议级问题数量:0 个 ### 🔴 阻塞级问题(必须修复) 无 ### 💡 改进建议(不阻塞合并) 无 ### ✅ 良好实践 1. **修复测试隔离问题**:PR 正确识别并修复了 `sys.modules` 注入 Mock 导致的跨文件污染问题。通过移除对 `video_processing` 的 Mock 注入,改为导入真实模块并在测试时进行 patch,有效避免了因 `__init__.py` 导入机制导致的包属性残留为 `MagicMock` 的现象。 2. **清理逻辑优化**:修改后的 `sys.modules` 清理逻辑(跳过 `video_processing`)与新的导入策略(保留真实模块)保持一致,逻辑自洽,确保了测试环境在执行前后状态的预期行为。 3. **注释清晰**:代码注释详细解释了修改原因(避免 MagicMock 污染)以及实现细节(时序冲突、跨文件影响),有助于后续维护。 --- ✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能无明显问题 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-08-31 03:16:00 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit 301b591037 into develop 2026-08-31 11:26:42 +08:00

🗑️ 预览环境已清理

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

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

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