У меня есть приложение Play, которое определяет три различные конфигурации соединений в conf/reference.conf
. Когда я запускаю модульные тесты, которые требуют использования FakeApplication
, плагин BoneCP автоматически инициализирует эти три соединения, даже если в модульных тестах не вызываются какие-либо классы, которые используют любые подключения к базе данных. Он запускается и отключает соединения для каждого модульного теста. Это приводит к тому, что модульные тесты выполняются навсегда. Есть ли способ лениво начать подключения к базе данных в BoneCP, HikariCP или какой-либо другой диспетчер соединений, только открывая их, когда они впервые используются?Избегайте открытия неиспользуемых подключений к базе данных в Play
Я мог бы, конечно, полностью отключить BoneCPPlugin внутри соответствующих модульных тестов, но что делать, если у меня есть единичные тесты, которым нужна одна из конфигураций соединений?
Если вам нужно подключение к базе данных, это _really_ единичный тест? – millhouse
Вы правы, это интеграционный тест, а не единичный тест. Тем не менее, они сейчас используются в качестве модульных тестов, поэтому я ищу решение, пока мы не получим возможность переместить их в отдельный набор тестов интеграции. – Alex
Кроме того, даже если мы отделим их как правильные тесты интеграции, мы все равно столкнемся с такими же проблемами производительности. – Alex