我正在寻找一种编写测试的好方法,以确保 Spring Boot Rest(版本 2.1.9)应用程序中的端点遵循 OpenAPI 合约中的合约。
在我最近搬的项目中,有以下工作流程:架构师编写合约 openapi.yml,开发人员必须实现端点以遵守合约。不幸的是,发生了很多差异,这个测试必须捕获这种情况,并且不可能改变这一点。
我正在考虑一种从当前端点生成 openapi.yml 的解决方案,并将其与它应该遵循的 OpenAPI 合约进行比较。我想知道是否有一些开箱即用的解决方案。
我正在考虑从当前 ednpoints 生成 openapi.yml 的解决方案,并以某种方式进行比较,但想知道是否有一些开箱即用的解决方案。
在一般情况下,即使生成的规范也可能与实际的应用程序行为不匹配,因为有些东西无法用 Open API 表达。然而,作为一个起点,它仍然会有所帮助。
开放API提供了一种“指定示例”的方法,可用于验证合约。但实际的模式可能是更好的期望来源。 我想指出两个可以仅根据输入的开放 API 规范生成和执行测试用例的工具:
我建议将合同(作为您提到的规范)传递给 Schemathesis,它将验证您的应用程序是否正确处理所有模式和示例。