繁体   English   中英

你如何为java servlet编写单元测试?

[英]How do you write unit tests for your java servlets?

单元测试java servlet的最佳实践是什么? 顺便说一下:这是一个我有一些困难的话题:你如何对java servlet进行单元测试?

最重要的是尝试从servlet中提取与servlet行为无直接关系的所有内容。

这立即使得测试核心功能轻松了许多 通过执行此操作,您可以立即拥有一组未绑定到容器且可测试的组件,而无需运行和连接到容器的痛苦(除了使它们更可重复使用)。 应该考虑架构和组件的适当分层 - 例如返回对象结构而不是可显示片段的组件,不直接使用HttpRequests,而是一些请求编组结构等。

您可以正常测试大多数测试(取决于您的系统结构和复杂性)。 可以使用(例如) Apache Cactus构建额外的以servlet为中心的测试,以进行健全性检查功能。 除此之外,您可能希望调查浏览器中的解决方案,例如Selenium

(注意:此方法适用于大多数GUI环境 - 例如Swing)

今天在这里几乎提出了同样的问题。

Jakarta cactus是servlet的单元测试框架。

我们通常做的是使用模拟请求和响应加载servlet。 如果您正在使用Spring,这一点特别容易,因为它实际上提供了MockHttpRequest和MockHttpResponse。

假设您的应用程序中有明确定义的图层,其余部分很容易。 底层服务/ DAO层可以用模拟替换,因此我们只需确保servlet正在执行它应该对给定请求对象执行的操作,并正确编写响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM