问候,我们有一个包含大量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)之类的测试框架。
关于testing - 雅加达仙人掌替代吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5375411/