我正在寻找一种编写测试的好方法,以确保Spring Boot Rest(2.1.9版)应用程序中的指定遵循openapi合同中的合同。
在我最近搬到的项目中,有以下工作流程:架构师编写合同openapi.yml,而开发人员必须实现端点以遵守合同。不幸的是,发生了许多差异,并且该测试必须抓住这种情况,并且无法更改此:(
我在考虑从当前ednpoints生成openapi.yml的解决方案,并以某种方式进行比较,但想知道是否有一些现成的解决方案。
我正在寻找一种编写测试的好方法,以确保Spring Boot Rest(2.1.9版)应用程序中的指定遵循openapi合同中的合同。
在我最近搬到的项目中,有以下工作流程:架构师编写合同openapi.yml,而开发人员必须实现端点以遵守合同。不幸的是,发生了许多差异,并且该测试必须抓住这种情况,并且无法更改此:(
我在考虑从当前ednpoints生成openapi.yml的解决方案,并以某种方式进行比较,但想知道是否有一些现成的解决方案。
我正在考虑从当前ednpoints生成openapi.yml的解决方案,并以某种方式进行比较,但想知道是否有一些现成的解决方案。
在一般情况下,即使生成的规范也可能与实际的应用行为不匹配,因为某些事情无法用Open API表示。但是,它仍然可以作为起点。
Open API提供了一种前往specify examples的方法,可用于验证合同。但是实际的模式可能是更好的期望来源。
我要注意两个仅可以基于输入的Open API规范生成和执行测试用例的工具:
两者均提供CLI,并且可以通过各种挂钩进行扩展以适合所需的工作流程。
我建议将合同(作为您提到的规范)传递给Schemathesis,它将验证您的应用程序是否正确处理了所有模式和示例。