在我的客户端代码中,我使用 json 模式来验证 json 响应(使用ajv)。我计划使用pact-js生成协议以针对提供者运行以进行合同测试。
我希望我的客户端代码在运行时验证期间使用的模式以及合同测试在协议验证期间使用的模式有一个单一的事实来源。有没有办法从 pact 文件生成 json(或 swagger)模式,或者是否有一个库使用 pact 文件本身对单个 http 响应进行运行时验证(而不是仅用于合同测试中的合同验证) ?
我意识到这是一个先有鸡还是先有蛋的问题,因为我需要首先运行客户端代码作为测试运行的一部分以生成协议(进而生成 json 模式),所以我必须找出一个好的为此的工作流程。
我也意识到契约测试应该减少对运行时验证的需求,但契约测试仍然不够全面,无法捕捉所有现实世界的场景。