【发布时间】:2012-06-15 11:38:06
【问题描述】:
为 Spring JSP Web 应用程序处理以下(集成/单元)测试场景的最佳方法是什么:
- 使用 JUnitRunner 运行
- 访问 Spring 上下文(@Inject bean 到测试中)
- 向一个轻量级 Web 服务器发送请求,该服务器从测试内部开始呈现整个 html,包括 JSP
- 自动回滚事务
- 没有浏览器(Selenium 已退出)
- 真正运行的servlet容器(没有MockServlet)来测试JSP(spring-text-mvc已经出)
目标:
- 使用 Maven 构建周期运行
- 隔离测试 - 每个测试都可以将所有 bean 设置为所需状态
- 检查 JSP 页面的 html 输出
- 检查 bean 状态/数据库状态
有这个框架吗?我可以组合框架吗?也许我需要设置自己的服务器并启动它,然后对 localhost 运行实际请求。但是我怎样才能影响服务器的上下文并对其运行回滚呢?
感谢您的指点、链接和想法。
编辑
我刚刚阅读了有关使用嵌入式码头测试 Spring 应用程序的信息。不确定这是否是正确的方法。我认为问题在于部署的应用程序和我的测试没有相同的上下文。将进一步调查,欢迎对此提出任何想法。
edit2
找到另一个听起来很有希望的项目:JWebUnit。将尝试这一点并根据反馈进行更新。很想听听使用该框架解决与我类似的问题的任何经验。
【问题讨论】:
标签: spring testing web-applications junit