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