13.5 实战:MiniHarness 完整测试
本节为 MiniHarness 构建金字塔型测试套件:当前仓库已经落地单元测试与集成测试,E2E 和性能测试作为后续扩展层。
完整代码见
lab/tests/,本节聚焦测试策略与关键用例。
13.5.1 测试框架与固件
pytest 固件提供隔离的测试环境与可复用数据。下面是目标形态示意;当前 Lab 的真实共享固件见 lab/conftest.py 中的 tmp_dir 和 sample_tool_schema:
@pytest.fixture
def test_data_dir():
"""临时目录(自动清理)"""
with tempfile.TemporaryDirectory() as tmpdir:
yield tmpdir
@pytest.fixture
def miniharness(test_data_dir):
"""Harness 实例"""
return SecureMiniHarness(base_path=test_data_dir)实际仓库中的完整测试以 lab/tests/unit/ 为主,E2E 和更高层封装可按上面的目标形态继续扩展。
13.5.2 单元测试:路径校验与命令检测
单元测试测试最小的可测试单元(函数/类)。路径校验的关键用例:
命令检测的关键用例:
关键原则:多个小的、独立的测试,而非一个巨大的测试。
完整实现参见 lab/tests/unit/test_security.py 与 lab/tests/unit/test_tools.py。
13.5.3 集成测试:权限与护栏流程
集成测试测试多个组件的协作。权限 + 护栏的集成:
对应的真实实现已拆到 lab/tests/unit/test_security.py、lab/tests/unit/test_tools.py 与 lab/tests/unit/test_core.py;本段展示的是集成层目标用例。
13.5.4 端到端测试:多步工作流
E2E 测试测试真实用户工作流。文件分析流程:
并发工作流:
当前仓库尚未提供独立的 E2E 测试文件。落地时可放在 lab/tests/integration/ 或新建 lab/tests/e2e/,并在 CI 中单独标记为慢速用例。
13.5.5 性能基准:延迟与吞吐
性能测试衡量系统能力指标。延迟基准:
吞吐基准:
当前仓库尚未提供独立的性能测试文件。落地时应使用明确的硬件、样本规模和阈值,并与功能测试分开运行,避免让日常 CI 受环境噪声影响。
13.5.6 运行与覆盖率
命令:
目标覆盖率:>80%。共享固件参见 lab/conftest.py。
13.5.7 总结
MiniHarness 测试策略:
单元
已落地
快
低
路径校验、命令检测
集成
已落地
中
中
权限+护栏流程
E2E
待扩展
慢
高
完整工作流
性能
待扩展
持续
中
延迟、吞吐基准
金字塔形测试:快速反馈 (单元) → 保证集成 → 真实验证 (E2E) → 性能监控。
最后更新于
