Я проверяю свою базу данных. Я использую метод @BeforeClass, чтобы удалить все данные из моей базы данных и вставить некоторые данные.
Затем я запускаю свои тесты.
Затем я хочу использовать мой метод @AfterClass, чтобы сделать то же самое, что и метод @BeforeClass.
Все работает, но когда я добавляю метод @Afterclass, мой тест навсегда останавливается на последнем тесте junit.
@AfterClass
public static void stop() {
Session session = sessionFactory.openSession();
session.beginTransaction();
Query query = session.createQuery("DELETE FROM DB");
query.executeUpdate();
session.getTransaction().commit();
session.close();
Session session3 = sessionFactory.openSession();
session3.beginTransaction();
Query query3 = session3.createSQLQuery("ALTER TABLE db AUTO_INCREMENT=1;");
query3.executeUpdate();
session3.getTransaction().commit();
session3.close();
Session session2 = sessionFactory.openSession();
session2.beginTransaction();
DB db = new DB();
db.setTitle("Hallo Titel");
session2.save(db);
session2.getTransaction().commit();
session2.close();
}
Я точно знаю, что метод @AfterClass запускается, потому что последний вывод в консоли это:
Hibernate: удалить из БД
Спящий режим: ALTER TABLE db AUTO_INCREMENT = 1;
Но по какой-то причине метод не заканчивается.
Во вкладке Junit он застрял на последнем тесте.
Когда я удаляю метод @AfterClass, все заканчивается идеально.