For the complete documentation index, see llms.txt. This page is also available as Markdown.

13.5 实战:MiniHarness 完整测试

本节为 MiniHarness 构建金字塔型测试套件:当前仓库已经落地单元测试与集成测试,E2E 和性能测试作为后续扩展层。

完整代码见 lab/tests/,本节聚焦测试策略与关键用例。

13.5.1 测试框架与固件

pytest 固件提供隔离的测试环境与可复用数据。下面是目标形态示意;当前 Lab 的真实共享固件见 lab/conftest.py 中的 tmp_dirsample_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.pylab/tests/unit/test_tools.py

13.5.3 集成测试:权限与护栏流程

集成测试测试多个组件的协作。权限 + 护栏的集成:

对应的真实实现已拆到 lab/tests/unit/test_security.pylab/tests/unit/test_tools.pylab/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) → 性能监控

最后更新于