gpt4 book ai didi

java - Spring 启动 : Use Hibernate Session in a unit test

转载 作者:行者123 更新时间:2023-11-30 08:38:47 25 4
gpt4 key购买 nike

在我的 Spring Boot 应用程序中,我访问我的 Hibernate session ,如以下答案所示:https://stackoverflow.com/a/33881946/272180

现在我也想在单元测试中访问Hibernate Session。

如何在 Spring Boot 应用程序的单元测试中设置数据源并访问 Hibernate Session?

当我简单地 Autowiring 它时,我得到 org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread.

Autowiring 和使用 @Service 工作完美。

我的单元测试类看起来像这样的 atm:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = App.class)
@WebIntegrationTest
public class WebTest {

@Autowired
private SessionFactory sessionFactory;

@Autowired
private UserService userService;

@Test
public void testService() {

final List<User> users = userService.getUsers();

// do something with users
// ...

}
}

App.class 指的是具有主要方法的类,用于运行 Spring Boot 应用程序。

最佳答案

事实上,解决方案就像将 @Transactional 添加到测试类一样简单。

之后我可以像往常一样使用SessionFactory

关于java - Spring 启动 : Use Hibernate Session in a unit test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36395794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com