除了pact合约之外,还可以从pact合同生成json模式

时间:2017-06-28 00:27:31

标签: pact

在我的客户端代码中,我使用json模式来验证json响应(使用ajv)。我打算使用pact-js生成用于针对合同测试的提供程序运行的协议。

我希望客户端代码在运行时验证期间使用的架构的单一事实来源以及合同测试在协议验证期间使用。有没有办法从pact文件生成json(或swagger)模式,或者有一个库使用pact文件本身进行单个http响应的运行时验证(而不是仅用于合同测试中的合同验证) ?

我意识到这有点鸡和鸡蛋的问题,因为我需要首先运行客户端代码作为测试运行的一部分来生成契约(以及json模式),所以我必须要为此做出了良好的工作流程。

我也意识到合同测试应该减少运行时验证的需要,但合同测试仍然不够全面,无法捕捉所有真实场景。

1 个答案:

答案 0 :(得分:0)

简短的回答是否定的,虽然我相信有一些OSS图书馆试图解决这个问题(没有一个是正式的,但我记得有一点会在论坛上出现)。

无论哪种方式,虽然意图很好,但我们相信任务是futile。这两种技术是免费的,但无疑会随着时间的推移而发展,这使得管理变得更加困难。

你可以通过几种方式与Swagger集成,例如,Atlassian的优秀人员已经创建了一些你可以看到的[1] [2]。

[1] https://bitbucket.org/atlassian/swagger-request-validator

[2] https://bitbucket.org/atlassian/swagger-mock-validator

[3] https://github.com/pact-foundation/pact-specification/issues/28