用途:为 capsem-builder 提供 Python 测试相关操作参考,覆盖运行测试、检查覆盖率、黄金夹具(golden fixtures)与生成式 schema 等场景。
主要能力与用法:常用命令包括 PYTHONPATH=src:tests uv run --project build_system pytest build_system/tests/image/ 运行镜像构建器测试;加 --cov=capsem_builder.image --cov-fail-under=85 检查覆盖率;用 -k "test_E001" 运行单个测试;just test 运行完整测试套件;just _generate-settings 重新生成设置输出。
包配置:build_system/pyproject.toml 中发行名为 capsem-builder,入口点为 capsem-builder = capsem_builder.image.cli:main,使用 setuptools 构建。测试位于 build_system/tests/,测试目录为 build_system/tests/image/,涵盖校验、模型、CLI、Docker、manifest、config、doctor、audit、镜像构建后端与模块边界等文件。迁移期间 PYTHONPATH=src:tests 提供尚未迁移的 gate 包与保留的跨系统测试辅助;builder/gate/ 落地后应移除该临时环境边缘,不添加兼容包。
覆盖率:下限 85%,报告输出到 cache/target/coverage/python/codecov.xml;当前镜像包为 91.12%(551 个测试)。
黄金夹具与跨语言一致性:tests/settings_spec/golden.json 对应 expected.json,Python、Rust、TypeScript 三个解析器须产生一致结果;若修改 settings schema,三者需同步更新。
Schema 生成流程:config/settings/settings.toml 经 Pydantic 模型生成 schema.generated.json 与 ui-metadata.generated.json;just schema 运行 generate_schema.py。Rust 通过 include_str!() 读取 ui-metadata,TypeScript 在一致性测试中校验 schema。
限制:guest/artifacts/diagnostics/ 的 207 个 pytest 测试在 VM 内通过 just exec "capsem-doctor" 运行,不属于主机 uv run 测试套件。资料未提供收费、价格或进一步使用步骤。