У меня есть тест, который проверяет детали приложения пружины.
Он использует SpringRunner
и аннотацию @SpringBootTest
, поэтому он запускает сервер с полной пружиной.
Проблема в том, что тест выполняется сервером, который не имеет доступа к базе данных, поэтому я получаю много тайм-аутов соединения, что замедляет тест.
Проблемы с соединением сами по себе на самом деле не являются проблемой, поскольку тесты высмеивают вызовы базы данных, и поэтому они не полагаются на наличие соединения. Просто тесты медленные (и некрасивые) с ним.
Итак, тесты выглядят примерно так:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class DispatcherTest
и использует этот файл свойств
spring.datasource.url:jdbc:oracle:thin:@100.32.13.32:1521:TEST
spring.datasource.username:sa
spring.datasource.password:password
spring.datasource.driver-class-name:oracle.jdbc.OracleDriver
spring.jpa.database-platform:org.hibernate.dialect.Oracle10gDialect
Я думаю, что проблема в том, что существует множество различных репозиториев JPA, которые сканируются следующим образом
@EnableJpaRepositories("package.*")
Так есть ли какой-нибудь причудливый способ сказать Spring не подключаться к базе данных, или я должен издеваться над каждым классом репозитория JPA?