• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

TestPropertySource질문입니다.

21.08.25 20:18 작성 조회수 835

0

안녕하세요 강사님 언제나 좋은 강의 감사드립니다.

강의 내용을 따라서 열심히 따라 하고는 있는데, TestPropertySources로 우선순위를 먼저 받게끔 작업을 했는데 테스트 코드가 통과를 해서 혹시 뭐가 잘못 됐는지 여쭤보고 싶어서 질문을 남깁니다.

위의 코드를 보면 기존 application.yml의 server.port가 7443이고, test.yml의 설정이 6663인데, 해당 코드를 돌려보니 application.yml의 설정값을 우선순위로 읽어들여서 테스트 코드가 성공하였습니다.

혹시 현재 기준으로 우선순위가 변경이 된건지, 아니면 제가 무슨 실수를 한 것인지 한번만 봐 주시면 감사드리겠습니다

답변 1

답변을 작성해보세요.

2

안녕하세요. 코드를 거의 그대로 유지하고 싶으시다면 YAML 파일이 아니라 properties 파일로 바꾸시면 잘 동작할 겁니다. 설정 파일을 그대로 유지하고 싶으시다면 이런식으로 코드를 바꿔야 합니다.

@SpringBootTest

@TestPropertySource(properties = {"spring.config.location = classpath:test.yml"})

저라면 properties 파일을 사용하겠지만 경우에 따라 두번째 방법을 써야 할 때도 있겠네요. 

YAML 파일을 사용하면 구조적으로 한눈에 파악하기 쉬워서 사용했는데, YAML파일로 변경하고 따로 세팅을 안 해도 자동으로 인식이 되길래 locations에 그대로 적용해도 차이가 없을거라 생각했는데 전혀 아니었네요 ㅠㅠ 빠르고 정확한 답변 감사드립니다!