尧图精选

跑通 Buzz 组件测试:pytest-qt 断言与覆盖率门禁

🕒 发布时间:2026/9/7 14:00:50 📁 来源:尧图网络
跑通 Buzz 组件测试pytest-qt 断言与覆盖率门禁【免费下载链接】buzzBuzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper.项目地址: https://gitcode.com/GitHub_Trending/buz/buzz改完语言下拉框你手动启动 Buzz。点遍三个页面才确认没坏。上周那个默认值偏移就是这样漏到用户手里的。Buzz 组件测试把控件装进 pytest-qt 事件循环。断言直接跑在 CI 里。 拆机制Buzz 组件测试分三层环境层tests/conftest.py只做准备。它提供临时 SQLite、随机命名的 settings并全局关掉网络更新检查不渲染任何界面。隔离层靠 mock。tests/mock_qt.py伪造网络应答声卡由 mock_sounddevice 顶替。测试机没有麦克风也能跑。断言层tests/gui_test.py与 tests/widgets/ 用 qtbot 把控件挂进事件循环。断言的是文本、默认值和按钮状态。文件职责tests/conftest.py提供临时库与随机 settings全局关闭更新检查tests/mock_qt.py伪造网络应答测试不依赖真实 HTTPStests/mock_sounddevice.py伪造声卡与输入流无麦克风也能跑tests/gui_test.pyqtbot 装载真实控件并断言状态Makefiletest 目标设置 70% 覆盖率门槛 跑路径四步跑通 pytest-qt 组件断言克隆仓库并安装依赖。uv sync按pyproject.toml解析torch 会按平台切换 CUDA 索引下载量较大。git clone https://gitcode.com/GitHub_Trending/buz/buzz cd buzz uv sync→ 先跑最小用例。conftest 夹具自动装配临时库与 settings无需手动初始化。uv run pytest tests/gui_test.py -k LanguagesComboBox -v→ 再验数据层。setup_test_db 每次生成全新临时库跑完即删。uv run pytest tests/db -v→ 最后过覆盖率门禁。阈值与 Makefile 的 test 目标一致。make test 会先构建 whisper.cpp本地开发可直接用 pytest。uv run pytest --covbuzz --cov-reporthtml --cov-fail-under70 查故障查覆盖率门禁失败看到make test断言全过、末尾报 coverage not reached → 判断逻辑没错是新写的行没被任何用例覆盖 → 用 html 覆盖率报告定位未覆盖分支给对应控件补一条断言。确属无需覆盖的分支评审后再动 Makefile 里的阈值别顺手改。封闭环自动化入口与适用边界make test是完整自动化入口构建 whisper.cpp、编译对齐器扩展、跑全量测试并卡 70% 覆盖率CI 里只认它。边界要清楚这套测试不断言识别准确率。tests/transcriber/ 下的用例只校验 SRT、VTT 的文件行格式不比对转写内容。验证模型升级效果时全绿也说明不了问题。【免费下载链接】buzzBuzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper.项目地址: https://gitcode.com/GitHub_Trending/buz/buzz创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →