1

作为 XQuery 和 Saxon 的新手,我继承了数百个 XQuery 模块来分析自动回归测试结果文件。.txt每个测试用例有一个测试结果文件。.XQ每个回归测试用例还有一个 XQuery模块。

基本上,每个 XQuery 模块.XQ都将一组以 XML 格式编码的原始测试数据作为输入,运行分析并生成一个 HTML 表,显示 PASS/FAIL 类型的结果。

目前对该套件的控制是通过一组 DOS.BAT文件,每个测试用例一个。在每个内部.BAT,外部解析器.exe将原始测试结果文件从.txt格式编码为.xml格式,然后使用Saxon.jar处理器运行测试用例的特定 XQuery 模块。'.bat' 文件通过启动资源管理器实例来完成,以显示包含结果表的最终 HTML 文件。

本质上,上述过程非常手动,需要使用 .BAT 文件单独运行每个案例。我需要一个改进的体系结构,以便使用我目前拥有的一组 XQuery 模块来控制和呈现对这些测试结果文件的分析。执行分析的过程将涉及

  • .txt以格式加载/存储一组原始测试结果文件
  • 使用外部解析器将原始测试结果文件转换为 XML.exe
  • 使用 Saxon 启动 XQuery 模块套件以分析.xml结果文件
  • 产生显示列表结果

所以我的问题是为了实现上述过程的集成,假设我替换了.bat文件,我应该考虑哪些理想的工具可以连接到底层的 XQuery/Saxon 引擎?

例如 - 我的主要想法是运行一个带有 UI 的本地 Apache 实例来控制一切?我需要快速构建它,那么什么样的技术可以构建一个与 Saxon 配合得很好的 Web 应用 PHP/Java/Ruby/GWT?其他人都做什么?

我知道一个高级别的问题,所以可能会有不止一个答案。

4

1 回答 1

1

从 .bat 文件为每个测试运行一个新的 Saxon 实例肯定是非常低效的——它会导致初始化 Java VM 的大量开销。

我们使用 Java 编写的测试驱动程序(我们实际分发)执行相同的过程,该驱动程序包含您在 bat 文件中拥有的控制逻辑,通过 s9api API 调用 Saxon(尽管如果您想使其更便携,您可以使用 XQJ )。我们以 XML 而不是 HTML 生成结果,因为它更易于分析,并且我们总是可以在必要时呈现结果以供浏览器查看 - 尽管通常我们只查看 XML。还有一个与 Swing UI 一起运行的版本,但我很少使用那个版本。

如果我从今天开始,我可能会考虑使用 XProc 编写这样的测试驱动程序。

于 2012-09-27T14:31:16.493 回答