gpt4 book ai didi

maven - 对 XML 文件执行检查,例如 Oracle OSB 文件和 Soap-UI 测试文件

转载 作者:行者123 更新时间:2023-12-01 05:36:36 24 4
gpt4 key购买 nike

寻找一种方法,我们可以对 XML 文件进行检查,而不仅仅是模式验证。找到了一些对 Schematron 的引用,看起来很有趣,但我们很难看到我们如何将它们拼凑在一起:

问题背景

我们正在处理 Oracle OSB,它只会生成一大堆 XML 文件。我们还生产用于集成测试的 Soap-UI 测试套件。

我们刚刚开始正式制定我们的编码标准和开发指南,这些东西在执行代码审查时为我们提供了指导。然而,很多这些检查真的觉得它们可以自动化。很像 checkstyle 如何在我们的 Java 代码中进行检查。

例如,在我们的 Soap-UI 测试中,我们希望确保每个 soap 请求都具有针对 Schema Compliance 和 Soap Response 的断言。这个“检查”可以写成一个非常简单的xpath。

我们的 OSB 中的类似检查生成了 XML,例如确保变量符合驼峰命名法,资源路径不引用项目外的文件,存在顶级错误处理。

理想的解决方案

我们已经在 maven 中运行了我们的构建,并且soap-ui 测试正在输出surefire 格式的报告。我们使用 jenkins 作为我们的 CI 服务器,它能够获取这些万无一失的报告,因此我们可以轻松查看测试结果并了解构建失败的原因。

我们想找到可以为我们执行这些检查的东西,并让他们在 jenkins 中干净利落地报告。

到目前为止我能想到的最好的:

  • 让 maven 运行运行 schematron 检查的 ant 任务
  • 找到一种方法将 schematron 输出转换为万无一失的输出
  • 修改 jenkins maven-runner 以获取产生的万无一失的报告

  • 但感觉就像我被困在这里的兔子洞里。如果这是解决这个问题的正确方法,我认为其他人已经解决了这个问题,但是很难找到任何关于将 schematron 与 CI 工具或 maven 集成的有用信息。

    schematron 值得研究吗?

    是否有其他工具可以与我们现有的设置更紧密地集成更适合?

    最佳答案

    您可以尝试使用 XmlUnit用于此类目的。

    在这种情况下,您将以 JUnit 测试的形式编写检查。借助诸如 assertXpathExists 之类的 XmlUnit 断言方法,可以轻松执行基于 XPath 的简单检查。 , assertXpathsEqual等等。

    可以使用自定义 NodeTester 实现更复杂的检查。 .

    关于maven - 对 XML 文件执行检查,例如 Oracle OSB 文件和 Soap-UI 测试文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8304031/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com