Правильно определите путь для проверки свойств, используя @TestPropertySource (Spring Boot 2) - PullRequest
0 голосов
/ 08 июля 2019

В моей тестовой папке Spring Boot 2 есть следующая иерархия

 test/
      java/
           package.name/
                        SpringBootTest.java

       resources/
                 test.properties

SpringBootTest имеет код типа

@RunWith (SpringRunner.class)
@TestPropertySource(locations = {"/resources/test.properties"})
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, 
             properties = {"management.port=0"})
public class SwaggerExtractorTest { ... } 

Я также пытался использовать location = {"test.properties"} с файлом, расположенным непосредственно рядом с самим классом java, и некоторыми другими путями, но это всегда была ошибка resource path class [... ] не может быть открыт, потому что он не существует .

В идеале мне бы хотелось иметь путь для @TestPropertySource, который я могу разместить на разных уровнях иерархии тестового кода без изменений, то есть относительно какого-то верхнего уровня.

Как правильно установить этот путь?

1 Ответ

1 голос
/ 09 июля 2019

Предполагается, что папка test/resources, на которую вы ссылаетесь, является папкой src/test/resources, используемой вашей сборкой Maven / Gradle ...

@TestPropertySource("/test.properties") и @TestPropertySource("classpath:test.properties") эквивалентны, и оба должны работать для ссылки на файл test.properties в корне пути к классам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...