用途:证明 Java 到 Swift 迁移的完整性,验收目标是相同输入在等价环境下具有相同的可观察行为。
主要能力:维护独立分母,覆盖 Java 生产对象与成员、Java 测试文件与具体用例(含参数化/动态用例、套件、禁用测试)、测试资源与黄金文件等资产、Java/Swift 全量差异用例,以及 Swift 特有义务(可选值与桥接边界、Codable 形状、所有权、actor 隔离、Sendable、取消、平台条件、SwiftPM 行为)和覆盖率、变异、模糊/属性、sanitizer、性能、安全、平台证据。前四类要求精确完整,后两类补充目标语言风险证明。
使用方式:逐项清点 Java 测试源码与具体用例,在 Swift 中无损实现,保留输入、准备、操作、断言强度、预期错误、副作用、顺序、清理与身份;分组用例须在台账中独立映射与报告。资源在政策允许时直接复制,保留字节、相对路径、编码、行尾、权限与归档结构,生成 SHA-256 清单,缺失、多余或变更即失败。可用命令:python3 scripts/audit_migration_tests.py --java-root /path/to/java-project --target-root /path/to/swift-project --target-extension .swift。大型迁移可建同级包 <project>-test,含 Package.swift、Sources/ParityHarness/、Tests/ProjectAcceptanceTests/Resources/,通过公共组合依赖生产产物,运行真实跨目标场景并发布一致性报告。差异门禁要求同一版本化输入分别跑 Java 与 Swift,比较值/类型、结构化错误与因果语义、顺序与副作用、序列化字节与资源生命周期,保留原始输出并固定提交、运行器、归一化器版本、区域、时区、编码、依赖、种子、平台与架构。
限制:跳过、禁用、隔离、仅编译、不支持或未运行的 Swift 用例均不计为完成;覆盖率只能定位未执行路径,不能证明行为等价,不得削弱断言或加琐碎测试凑百分比;只有全部门禁零未解释例外时才可称“完成”。