寻找一种我们可以检查 XML 文件的方法,而不仅仅是模式验证。找到了一些对 Schematron 的引用,看起来很有趣,但很难看到我们如何将这一切拼凑起来:
问题背景
我们正在处理只生成一大堆 XML 文件的 Oracle OSB。我们还生产用于集成测试的 Soap-UI 测试套件。
我们刚刚开始正式制定我们的编码标准和开发指南,这些东西在执行代码审查时为我们提供了指导。然而,很多这些检查真的觉得它们可以自动化。很像 checkstyle 如何在我们的 java 代码中进行检查。
例如,在我们的 Soap-UI 测试中,我们希望确保每个soap 请求都有Schema Compliance 和Soap Response 的断言。这个“检查”可以写成一个非常简单的 xpath。
我们的 OSB 中的类似检查生成了 XML,例如确保变量符合驼峰命名法、资源路径不引用项目外部的文件、存在顶级错误处理。
理想的解决方案
我们已经在 maven 中运行了构建,soap-ui 测试正在吐出肯定格式的报告。我们使用 jenkins 作为我们的 CI 服务器,它能够获取这些可靠的报告,因此我们可以轻松查看测试结果并了解构建失败的原因。
我们希望找到可以为我们执行这些检查的东西,并让它们在 jenkins 中干净地报告。
到目前为止我能想到的最好的:
- 让 maven 运行运行 schematron 检查的 ant 任务
- 找到一种将 schematron 输出转换为安全输出的方法
- 修改 jenkins maven-runner 以获取生成的肯定报告
但感觉就像我被困在了这里的兔子洞里。如果这是解决此问题的正确方法,我认为其他人已经解决了这个问题,但很难找到任何关于将 schematron 与 CI 工具或 maven 集成的有用信息。
schematron 值得研究吗?
是否有其他工具可以更紧密地与我们现有的设置集成,更适合?