diff --git a/tests/unit/test_cover_frame_pre_extract.py b/tests/unit/test_cover_frame_pre_extract.py index 1ecd4735a..05599b844 100644 --- a/tests/unit/test_cover_frame_pre_extract.py +++ b/tests/unit/test_cover_frame_pre_extract.py @@ -22,6 +22,9 @@ class TestExtractFirstFrame(unittest.TestCase): """默认在视频 15% 处抽帧.""" from video_processing.thumbnail_generator import extract_first_frame + # Mock run_ffmpeg 创建输出文件(ffmpeg 真实行为) + mock_run.side_effect = lambda cmd, **kw: Path(cmd[-1]).write_bytes(b"\xff\xd8\xff\xe0fake") + with tempfile.NamedTemporaryFile(suffix=".mp4") as video: Path(video.name).write_bytes(b"fake video") result = extract_first_frame(video.name) @@ -40,6 +43,8 @@ class TestExtractFirstFrame(unittest.TestCase): """自定义抽帧位置.""" from video_processing.thumbnail_generator import extract_first_frame + mock_run.side_effect = lambda cmd, **kw: Path(cmd[-1]).write_bytes(b"\xff\xd8\xff\xe0fake") + with tempfile.NamedTemporaryFile(suffix=".mp4") as video: Path(video.name).write_bytes(b"fake video") result = extract_first_frame(video.name, seek_ratio=0.5) @@ -77,6 +82,8 @@ class TestExtractFirstFrame(unittest.TestCase): """默认保持原始分辨率(width=-1, height=-1).""" from video_processing.thumbnail_generator import extract_first_frame + mock_run.side_effect = lambda cmd, **kw: Path(cmd[-1]).write_bytes(b"\xff\xd8\xff\xe0fake") + with tempfile.NamedTemporaryFile(suffix=".mp4") as video: Path(video.name).write_bytes(b"fake video") result = extract_first_frame(video.name) @@ -95,6 +102,8 @@ class TestExtractFirstFrame(unittest.TestCase): """指定宽度时添加 scale 滤镜.""" from video_processing.thumbnail_generator import extract_first_frame + mock_run.side_effect = lambda cmd, **kw: Path(cmd[-1]).write_bytes(b"\xff\xd8\xff\xe0fake") + with tempfile.NamedTemporaryFile(suffix=".mp4") as video: Path(video.name).write_bytes(b"fake video") result = extract_first_frame(video.name, width=640)