Skip to content

5/2 (화) 성하 - @SpringBootTest에서 환경이 다른 여러 테스트 실행 시 DDL을 여러 번 실행하는 오류 트러블 슈팅 #14

Closed Answered by sh111-coder
sh111-coder asked this question in Q&A
Discussion options

You must be logged in to vote

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)를 설정했을 때 보통 @LocalServerPort를 port로 설정해 RestAssured.port로 설정해 주는데 @LocalServerPort는 동일한 서버의 포트번호를 사용할까요? 그렇다면 랜덤이 되는 것이 맞을까요?

A1 : @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)를 설정했을 때 내장 서버가 돌아갑니다.
@LocalServerPort의 역할이 해당 RANDOM_PORT를 LocalServer의 PORT로 지정하는 것이 아니라,
랜덤으로 생성한 포트 번호를 LocalServer에 지정해서, 테스트에서 내장 서버를 띄울 때 랜덤으로 생성한 포트 번호로 띄우게 하는 역할입니다!
그래서 랜덤 포트 번호가 지정되는 것 같습니다!

하지만 위의 조이 답변에서 설명했듯이 ApplicationContext별로 port번호를 랜덤으로 생성해서
ApplicationContext가 같다면 같은 포트 번호를 사용할 수 있을 것 같습니다!

Replies: 2 comments 4 replies

Comment options

You must be logged in to vote
2 replies
@sh111-coder
Comment options

sh111-coder May 4, 2023
Maintainer Author

@yeonkkk
Comment options

Comment options

You must be logged in to vote
2 replies
@sh111-coder
Comment options

sh111-coder May 4, 2023
Maintainer Author

Answer selected by JJ503
@JJ503
Comment options

JJ503 May 8, 2023
Maintainer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
3 participants