用途:为协议或接口生成契约测试(Contract Tests)。先定义协议应满足的行为,再让每个实现(真实、内存、Mock、云端等)接受同一套测试,确保行为一致,并可在替换实现时安全验证。
主要能力:识别协议及其必需方法与属性、预期行为、错误条件与边界情况、线程安全要求、状态不变量;按协议方法定义契约行为(如 save、fetch、delete、fetchAll 及不变量);生成通用泛型契约测试套件;为每个具体实现运行同一契约;常见契约类别涵盖 Repository/Data Store、网络客户端、缓存和认证。
使用方式:当用户设计协议、存在同一接口的多个实现、要求“测试协议”或“契约测试”、需要安全替换实现、或需验证 AI 生成实现符合规范时启用。先用 grep 查找协议并阅读定义,梳理行为与不变量,再生成如 struct DataStoreContractTests<Store: DataStore> 的泛型测试,参数为 makeStore 工厂闭包;各实现通过 @Suite 包装复用契约测试。输出为契约测试文件,如 Tests/Contracts/DataStoreContractTests.swift 与具体实现测试文件。
适用场景:协议一致性验证、多实现(真实 + Mock + 内存)行为对齐、实现替换回归、AI 生成实现验收。
限制:资料未提供安装命令、收费或价格、平台要求、具体性能数据或完整运行步骤;其理论参考为 Design by Contract(Bertrand Meyer),并可关联 tdd-feature 与 test-generator 技能。