[英]Jakarta Cactus alternate?
问候,我们有一个包含大量bean,JSP等的项目。迫切需要在我们的环境中执行自动化测试(我们使用Maven)。 现在,我们可以轻松地为我们实现的各种安全实用程序编写针对数据库项目层的测试。 但是JSP页面仍然未经测试。
我搜索了用于服务器端测试的实用程序,而Cactus似乎是最佳选择。 但是,根据他们的更改列表,他们的最新版本是1.8,并且已于两年前发布!
所以问题是-仙人掌发生了什么,它还在发展还是什么? 雅加达仙人掌最近有哪些替代品(如果有)?
我在最近的项目中成功使用了Spring,JUnit和HttpClient的组合。
Apache HttpClient提供了功能强大且灵活的API,用于构造HTTP请求并将其发送到您的应用程序中。 它不能复制Web浏览器,例如通过运行客户端脚本,但是,如果生成的http响应(标题,URI,正文)中包含足够的内容,则可以使用此信息遍历应用程序中的页面并验证行为。 您可以发布表格,遵循重定向,处理cookie并将输入内容提供给您的应用程序。
JUnit(junit.org)驱动测试,并使用HttpClient调用一系列页面,并且可以与应用程序一起部署,与ant / maven一起独立运行,或者在IDE中单独运行。
当然,Spring(springsource.org)是可选的,因为您可能没有在项目中使用它。 我发现对应用程序的各个部分进行存根/模拟非常有用,这样我就可以通过替换DAO来返回特定的数据值,从而隔离特定区域,例如前端控制器,再到业务逻辑。 它提供了一个出色的Test Context Framework和专门的TestRunner,它们可以很好地连接到诸如JUnit(如果需要,可以是TestNG)之类的测试框架。
在ejb2时代,Cactus充当了很好的服务器端测试框架,但是现在不再受支持。
您可以结合使用模拟测试(细粒度)和容器内测试(粗粒度)策略来完全测试您的应用程序。
模拟测试框架: Mockito , Jmockit , EasyMock等。
集成测试框架(Java EE): Arquillian , Embeddable API等。
我更喜欢Mockito和Arquillian用于服务器端测试。
那Arquillian呢? 我还没有使用过它,甚至还没有一个稳定的版本,但至少它正在积极开发中。
您可能要尝试硒。 我发现jBehave是一个很好的组合。 而且,对这两个项目的支持越多,它们就越不会消失(例如仙人掌)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.