与 Spring、Hibernate、Selenium 的集成/Web 测试
我正在使用 Spring AbstractJUnit 测试和 Hibernate 进行数据设置来为 web 应用程序编写集成测试。我有使用 Hibernate 的构建器,它比 DbUnit 进行数据设置更方便。但由于 Spring 测试不提交 Hibernate 事务,因此数据对于集成测试环境之外的实际 Web 应用程序不可见。有没有办法克服这个问题,并在测试 web 应用程序之前使用 Spring 强制 Hibernate 设置的数据提交到数据库?这对我来说似乎是一个常见问题,但我所能找到的只是 Spring 对单元测试的事务支持
I'm writing Integration tests for a webapp using Spring AbstractJUnit tests and Hibernate for data setup. I have Builders using Hibernate which is more convenient than DbUnit for data setup. But since Hibernate transactions are not committed by Spring tests, data is not visible to the actual webapp outside of the Integration test environment. Is there any way to overcome this issue and use Spring to force data setup by Hibernate to be committed to database before testing the webapp? This looks like a common problem to me, but all i could find was Spring's Transactional support for Unit tests
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Spring默认回滚测试方法事务。使用 @Rollback(false) 注释您的测试方法。
Spring rollback test method transaction by default. Annotate your test methods with @Rollback(false).