In meinem Frühling Boot-Anwendung greife ich auf meine Hibernate-Session, wie in dieser Antwort gezeigt: https://stackoverflow.com/a/33881946/272180Frühling Boot: Verwenden Hibernate Session in einem Unit-Test
nun in einem Unit-Test Ich mag auch die Hibernate Session zuzugreifen.
Wie kann ich die Datenquelle einrichten und auf die Hibernate-Sitzung in einem Komponententest einer Spring-Boot-Anwendung zugreifen?
Als ich es einfach Autowire, bekomme ich org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread.
autowiring und mit einem @Service
funktioniert einwandfrei.
My Unit-Testing-Klasse sieht wie folgt aus 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
mit dem Hauptverfahren zur Klasse bezieht, die verwendet wird, um die Frühlings-Boot-Anwendung auszuführen.