如Swagger docs中所述,我使用带有附加 xml 元数据的 OpenAPI 3.0 创建 XML API 规范。在开发阶段,我想根据 OpenAPI 3.0 规范自动测试我的端点的 XML 响应。
针对 OpenAPI 3.0 模式验证端点的 XML 响应的最佳方法是什么?通过验证,我的意思是:
- 验证每个 XML 标签或标签的属性是否符合规范,
- 规范要求的所有元素都存在,
- 数据已针对响应内容架构中声明的类型成功验证。
我想这样的测试可以通过以下步骤完成:
在项目构建期间,如果该路径具有指定的
application/xml
内容类型并且定义了响应模式,则从 OpenAPI 规范中的每个路径的模式定义生成 XSD 文件。在测试中,获取特定端点的响应并针对 XSD 文件进行验证。
不幸的是,目前似乎没有工具可以从 OpenAPI 规范生成 XSD 来创建上述管道。
你怎么能达到这个目标?是否可以结合使用 OpenAPI/Swagger 工具?是否有任何其他可靠的方法来验证 XML 响应而无需手动创建 XSD?
问题不是特定于编程语言的。