Я запускаю приложение из весенней загрузки и читаю юнит-тест для проверки сервисов методом. но получаю эту ошибку, что пролетный путь не существует, каталог конфигурации, хотя я определил конфигурацию пролетного пути в ресурсах> application.yml.
spring:
flyway:
baseline-version: 0
baseline-description: descript this
encoding: UTF-8
table: flyway
locations: **classpath:/db/postgres/migrations**
schemas: SCHEMA
password: PASSWORD
user: jeus
но я получаю это ошибка :
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flyway' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.flywaydb.core.Flyway]: Factory method 'flyway' threw exception; nested exception is java.lang.IllegalStateException: Cannot find migrations location in: [classpath:db/migration] (please add migrations or check your Flyway configuration)
в тестовом классе я установил эту конфигурацию для загрузки конфигурации и контекста весенней загрузки.
@RunWith(SpringRunner.class)
@ComponentScan
@ContextConfiguration(classes = {BeanFactory4Test.class})
public class ClientManagerTest {
@Autowired
private ClientManager clientManager;
@Test
public void getAccessTokenTest() {
......
}
}
и BeanFactoryForTest
@Configuration
@ComponentScan(basePackages = {"com.b2mark"})
public class BeanFactory4Test {
@Bean
public DataSource dataSource() {
DriverManagerDataSource driver = new DriverManagerDataSource();
driver.setDriverClassName("org.postgresql.Driver");
driver.setUrl("jdbc:postgresql://postgres:5432/jeus");
driver.setUsername("JEUS");
driver.setPassword("PASSWORD");
driver.setSchema("SCHEMA");
return driver;
}
}