作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 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/
我是一名优秀的程序员,十分优秀!