gpt4 book ai didi

java - 为每个单元测试重建 Hibernate sessionFactory(使用 spring 框架)

转载 作者:行者123 更新时间:2023-11-30 11:59:45 27 4
gpt4 key购买 nike

我正在使用 Spring 的 AbstractTransactionalDataSourceSpringContextTests 进行我的持久性单元测试,我的问题是我的测试太慢了:1 个方法 = 5s,每个额外的方法至少需要一秒钟。我有超过 300 个数据库表,所以启动缓慢可能是可以理解的。然而,我浏览了日志,其中一件令人惊讶的事情是 Hibernate sessionFactory 是为每个测试方法重建的。而且它是每个额外方法的运行时成本的一半。

难道我不能重用原来的 sessionFactory 吗?

我已经深入研究了源代码,但没有看到强制重用 sessionFactory 的明显方法。

有什么想法吗?

还有其他加速持久性单元测试的想法吗?

(Spring 2.5 和 Hibernate 3.2ish,hsqldb)

最佳答案

您应该编写一个辅助类,这样您就可以包装您的 ISessionFactory API,并且您最好将其设为静态,这样它只会创建一次,因为此 API 的实例化成本非常高。

关于java - 为每个单元测试重建 Hibernate sessionFactory(使用 spring 框架),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2381148/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com