单元测试JSP

时间:2010-06-13 06:59:16

标签: unit-testing jsp

我想问一下,为JSP创建单元测试有哪些技术。

我已经知道HtmlUnit / HttpUnit / JWebUnit / Selenium的可能性。

谢谢!

1 个答案:

答案 0 :(得分:10)

我想说使用其Web界面测试Web应用程序(无论是JSP还是其他),上面提到的框架之一并不是严格意义上的单元测试。单元测试意味着单独测试应用程序的一小部分(一个方法,一个类)。使用Web框架,您可以将Web应用程序作为一个整体进行测试,因此这更像是系统测试或集成测试。这并不是说它没有用 - 恰恰相反 - 只是澄清术语更好。

话虽如此,如果我要测试JSP,我很可能会对使用上面提到的一些工具的与JSP相关的所有特定场景的系统测试感到满意。

但是,如果你真的想要“经典”单元测试,我猜你最接近的是将JSP编译成servlet类,然后使用模拟框架直接调用servlet方法(来自例如JUnit)像EasyMock一样准备Http请求,响应等对象)。

更新: IMO是需要对JSP进行单元测试的唯一原因,如果你有业务逻辑。反过来,这违背了UI和业务层的分离。因此,最好重新设计应用程序并将逻辑移动到单独的POJO(如果您有选择),而不是尝试编写人为的单元测试,以便测试不属于的业务逻辑。