![](/img/trans.png)
[英]Unit test for Spring DTO that has a Collection for a Field in Hibernate/Spring Boot
[英]Spring Boot: Use Hibernate Session in a unit test
在我的 Spring Boot 应用程序中,我访问了我的 Hibernate 会话,如以下答案所示: https : //stackoverflow.com/a/33881946/272180
现在我还想在单元测试中访问 Hibernate Session。
如何在 Spring Boot 应用程序的单元测试中设置数据源并访问 Hibernate 会话?
当我简单地自动装配它时,我得到org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread.
自动装配和使用@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 应用程序的 main 方法的类。
事实上,解决方案就像将@Transactional
添加到测试类一样简单。
之后,我可以像往常一样使用SessionFactory
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.