SpringBoot单元测试整体运行

背景

开发工具:eclipse 项目环境:SpringBoot+junit4,为每个业务类开发单元测试类。

问题

单个单元测试类,通过run as --> JunitTest,每个测试类可以成功运行。 整体单元测试类,通过mvn test运行项目所有单元测试,抛出异常 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: “Too many connections”

分析

每个单元测试类都有加@SpringBootTest注解,运行单元测试时会加载配置文件启动SpringBoot上下文,多个单元测试类就会启动多个SpringBoot上下文,每个上下文中使用单独的数据库连接池,连接池配置连接池连接数过大,而实际数据库中配置的数据库连接池不能满足分配,则会报出此异常。

解决

    调整数据库最大连接数(/etc/my.cnf) max_connections=1000 wait_timeout = 600 interactive_timeout = 600 调整项目中数据源配置(src/test/resources/application.yml)
经验分享 程序员 微信小程序 职场和发展