目前有一个运行Play + Play-Slick的项目,我们遇到了并行运行测试的问题。问题是,对于每个Specification
,它会创建自己的HikariCP连接池实例,这意味着测试最终会失败
org.postgresql.util.PSQLException: FATAL: sorry, too many clients already
你可以知道这种情况正在发生,因为你收到很多说
的日志消息[info] - com.zaxxer.hikari.HikariDataSource - HikariCP pool db is starting.
由于其相当大的测试套件(具有许多规格),使用
override def is = args(sequential = true) ^ super.is
不是理想的,因为这只适用于作为specifications
的子类的specification
(但我们有许多规范是在单独的包中没有共同的超级类型)。
是否有某种方法可以将specs2配置为使用全局连接池,因此在整个测试阶段只使用一个HikariCP连接池