@AfterClass方法没有完成测试用例

时间:2019-06-12 19:10:39

标签: java junit junit4

我正在测试我的数据库。我正在使用@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方法正在启动,因为控制台中的最后一个打印是这样的:

休眠:从数据库中删除 休眠:ALTER TABLE db AUTO_INCREMENT = 1;

但是由于某种原因该方法无法完成。 在“ Junit”选项卡中,它卡在了最后一个测试上。

当我删除@AfterClass方法时,一切都会完美终止。

0 个答案:

没有答案