我正在构建一个小型框架来对 JSP 进行单元测试。这些 JSP 有一些自定义标签,除此之外它们并没有什么特别的。
尽管有许多可用的 Java 单元测试解决方案,但我不喜欢使用启动单独的成熟 JSP 容器、部署应用程序并通过 TCP 连接收集结果的方法。这种情况的典型示例是 Apache Cactus、Selenium 等。理想情况下,我想要的是拥有一个尽可能轻量级的嵌入式解决方案(不需要网络连接是一个好兆头)。我还查看了各种模拟框架,但在单元测试期间编译/执行 JSP 时没有找到一个干净的工作示例。
我能找到的最接近的解决方案是在嵌入模式下使用 Jetty,或者特别是它的 ServletTester 类,如文档中所述http://docs.codehaus.org/display/JETTY/ServletTester
不幸的是,上述方法仅适用于 servlet,而没有提及 JSP。我认为有一种方法可以以编程方式将 Jasper servlet 挂入其中,但无法花费一周的时间深入研究 Jetty/Jasper 内部结构只是为了将两者集成。我不介意使用任何其他 JSP/Servlet 容器,只要它是免费且可灵活配置的。
如果有人有类似的设置并愿意分享经验,我将不胜感激。
下面是一个使用 jsps 运行 Jettys ServletTester 的示例项目。
https://github.com/genthaler/jetty-jsp-unit-test-simple/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)