与 Spring、Hibernate、Selenium 的集成/Web 测试

发布于 2024-10-19 05:44:15 字数 276 浏览 3 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只想待在家 2024-10-26 05:44:15

Spring默认回滚测试方法事务。使用 @Rollback(false) 注释您的测试方法。

@Test
@Rollback(false)
public void testMarkerMethod() {
// data setup 
}

Spring rollback test method transaction by default. Annotate your test methods with @Rollback(false).

@Test
@Rollback(false)
public void testMarkerMethod() {
// data setup 
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文