作为XQuery和Saxon的相对新手,我继承了几百个分析自动回归测试结果文件的XQuery模块。每个测试用例有一个.txt
测试结果文件。每个回归测试用例还有一个XQuery .XQ
模块。
基本上每个XQuery模块.XQ
都将一组以XML格式编码的原始测试数据作为输入,运行分析并生成一个显示PASS / FAIL类型结果的HTML表。
目前,该套件的控制是通过一组DOS .BAT
文件,每个测试用例一个。在每个.BAT
内,外部解析器.exe
将原始测试结果文件从.txt
格式编码为.xml
格式,然后使用{{{}运行测试用例的特定XQuery模块1}}作为处理器。 '.bat'文件通过启动Explorer实例来显示包含结果表的最终HTML文件。
基本上,上述过程非常简单,需要使用.BAT文件单独运行每个案例。我需要一个改进的体系结构,使用我目前拥有的XQuery模块集来控制和呈现这些测试结果文件的分析。执行分析的过程将涉及
Saxon.jar
格式.txt
.exe
结果文件所以我的问题是为了实现上述过程的集成,假设我替换.xml
文件,我应该考虑哪些理想工具将挂钩到底层的XQuery / Saxon引擎?
例如 - 我的主要想法是运行一个带有UI的Apache本地实例来控制一切?我需要快速构建这个以便用什么样的技术来构建一个与Saxon很好的Web应用程序PHP / Java / Ruby / GWT?其他人做了什么?
我知道一个高级问题,所以可能会有不止一个答案。
答案 0 :(得分:1)
从.bat文件为每个测试运行一个新的Saxon实例当然非常低效 - 它会导致初始化Java VM的大量开销。
我们使用用Java编写的测试驱动程序(我们实际分发)执行相同的过程,该驱动程序包含您在bat文件中的控制逻辑,通过s9api API调用Saxon(尽管如果要制作,可以使用XQJ它更便携)。我们用XML而不是HTML生成结果,因为它更适合分析,我们总是可以在必要时呈现浏览器查看结果 - 尽管我们通常只看XML。还有一个使用Swing UI运行的版本,但我很少使用该版本。
如果我今天开始,我可能会考虑使用XProc编写这样的测试驱动程序。