Вы можете использовать TestContainers для разворачивания контейнера докеры PosgreSQL для тестов: http://testcontainers.viewdocs.io/testcontainers-java/usage/database_containers/
TestContainers предоставляют JUnit @ Rule / @ ClassRule: этот режим запускает базу данных внутри контейнера перед вашими испытаниями и срывает его потом.
Пример:
public class SimplePostgreSQLTest {
@Rule
public PostgreSQLContainer postgres = new PostgreSQLContainer();
@Test
public void testSimple() throws SQLException {
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setJdbcUrl(postgres.getJdbcUrl());
hikariConfig.setUsername(postgres.getUsername());
hikariConfig.setPassword(postgres.getPassword());
HikariDataSource ds = new HikariDataSource(hikariConfig);
Statement statement = ds.getConnection().createStatement();
statement.execute("SELECT 1");
ResultSet resultSet = statement.getResultSet();
resultSet.next();
int resultSetInt = resultSet.getInt(1);
assertEquals("A basic SELECT query succeeds", 1, resultSetInt);
}
}