10
Q
单元测试JSP
A
回答
10
我会说使用其Web界面测试一个Web应用程序(无论是JSP还是其他),上面提到的框架之一不是严格意义上的单元测试。单元测试意味着单独测试应用程序的小部分(一种方法,一种类)。使用Web框架,您可以测试整个Web应用程序,因此这更像是系统或集成测试。这并不是说它没有用 - 相反,只是最好澄清一下术语。尽管如此,如果我要测试一个JSP,我很可能会满意使用上面提到的一些工具对与JSP相关的所有特定场景进行系统测试。但是,如果你真的想要“经典的”单元测试,我想最接近你可以得到的是编译你的JSP到一个servlet类,然后直接调用servlet方法(例如从JUnit,使用模拟框架,如EasyMock准备Http请求,响应等对象)。
更新: IMO需要为JSP单元测试的唯一原因是如果您有业务逻辑。这反过来又违背了用户界面和业务层的分离。因此,重新设计应用程序并将逻辑移入单独的POJO(如果您有选择的话)比尝试编写人为的单元测试以测试不属于的业务逻辑更好。
相关问题
- 1. 单元测试“授权”Spring Security JSP taglib
- 2. 单元测试jsp 2.0 .tag文件
- 3. 单元测试测试
- 4. CakePHP测试 - 单元测试
- 5. 单元测试
- 6. 单元测试
- 7. 单元测试
- 8. 单元测试
- 9. 单元测试
- 10. 单元测试
- 11. 单元测试
- 12. 单元测试
- 13. 单元测试
- 14. 单元测试
- 15. 单元测试
- 16. 单元测试
- 17. 单元测试
- 18. 单元测试()
- 19. 单元测试
- 20. 单元测试
- 21. 单元测试
- 22. JSP - 测试document.body.offsetWidth
- 23. Simple单元测试简单单元测试
- 24. 单元测试Url.Action
- 25. 当单元测试
- 26. 单元测试Observable.interval
- 27. 单元测试GetManifestResourceStream
- 28. 单元测试Scanf
- 29. 单元测试System.IO.FileStream
- 30. 单元测试MvvmCross.Droid.View
是的我知道HtmlUnit和其他人是集成测试,而不是单元测试。我提到他们的原因是我知道人们会提及他们作为选择,我想节省时间。 但无论如何,感谢您的回答:) – 2010-06-14 05:45:39
@Avi,同时我对此有了更多的想法,请参阅我的更新。 – 2010-06-14 08:01:49
+1:这是一个明智的答案。把你的业务逻辑放在*是可测试的东西中,并保持你的JSP简单,以至于它显示在“明显没有错误”的标题下(而不是“没有明显的错误”)。 – 2010-06-14 08:05:21