Привет, надеюсь, все в порядке.
Мне нужна помощь в изменении TestPropertySource для моих интеграционных тестов при весенней загрузке.
Раньше я использовал свойства, которые работали нормально, теперь я подумал о переходе на yaml. , из-за иерархической структуры и чистоты.
Я не могу переключиться на application-test.yaml для интеграционных тестов.
Я пробовал
Spring @PropertySource, используя YAML
Но это не сработало, мой тестовый yaml не вызывается
@PropertySource(value = "classpath:application-test.yaml", factory = YamlPropertyLoaderFactory.class)
даже такие изменения не помогли
@TestPropertySource(properties = { "spring.config.location = classpath:
" }
Ниже приведен пример моего интеграционного теста для globalExceptionHandler, который отлично работал со свойствами
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@TestPropertySource(locations = "/application-test.properties")
@AutoConfigureMockMvc
public class GlobalExceptionHandlerIntTests {
@Autowired
private MockMvc mockMvc;
@Test
@DisplayName("Bad request when invalid data sent")
public void whenPostInvalidData_thenBadRequest() throws Exception {
String invalidDataJson = "{\"name\":\"\",\"email\":-1,\"password\":\"\"}";
mockMvc.perform(MockMvcRequestBuilders.post("/signup")
.content(invalidDataJson)
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isBadRequest())
.andExpect(jsonPath("$.status").value(400))
...
...
Подробнее здесь: https://stackoverflow.com/questions/788 ... properties