λ°˜μ‘ν˜•
kkh1902
Steadily
kkh1902
전체 방문자
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (151)
    • πŸ“š Study (1)
      • Spring (9)
      • Java (2)
      • Html, css (10)
      • JS, JQuery (29)
      • DB (5)
      • DevOps (13)
      • roadmap (2)
      • Architecture (1)
      • Flutter (2)
    • πŸ’» Computer Science (28)
      • Datastructure (0)
      • Algorithm (2)
      • Design pattern (0)
      • Network (1)
      • DB (13)
      • Operating System (0)
      • Software Engineering (4)
      • CS interview (5)
      • topcit (3)
    • βš’οΈ Etc (4)
      • Error (3)
      • Trouble_Shooting (1)
    • πŸ“° News (0)
      • daily (7)
      • think (17)
    • πŸ“˜ Hobby (13)
      • English (13)
    • πŸ€– AI (7)
      • ML (7)

λΈ”λ‘œκ·Έ 메뉴

  • πŸ“‹ 이λ ₯μ„œ
  • ⚑️ κΉƒν—ˆλΈŒ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

νƒœκ·Έ

  • React JS # 2 The Basic of React
  • Flutter
  • git
  • μ†Œν”„νŠΈμ›¨μ–΄ 곡학 #projectλ§Œλ“€λ•Œ μ€‘μš”
  • μ†Œν”„νŠΈμ›¨μ–΄ 곡학 # chapter1
  • Qr_payment project # CSS 해석 # Basic λ§¨μœ„ 해석
  • Linear Regression
  • sourcetreee
  • React # JSX
  • git stash
  • React JS # μžμŠ΅μ„œ # Component와 Props
  • Reactλ₯Ό λ°°μ›Œμ•Όν•˜λŠ” 이유
  • think #bootstrap을 μ¨μ•Όν•˜λŠ” 이유
  • gitaction
  • testcode
  • SpringBootTest
  • Wonder # word
  • React JS #μžμŠ΅μ„œ
  • junit5
  • db

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

250x250
hELLO Β· Designed By μ •μƒμš°.
κΈ€μ“°κΈ° / κ΄€λ¦¬μž
kkh1902

Steadily

πŸ“š Study/Spring

User@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)ꡳ이 RANDOM_PORTλ₯Ό ν•˜λŠ” 이유

2023. 5. 2. 14:43
728x90
λ°˜μ‘ν˜•

1. 포트 좩돌 λ°©μ§€

μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•  λ•Œ κΈ°λ³Έ 포트인 8080이 이미 μ‚¬μš© 쀑인 경우, 랜덀 포트λ₯Ό μ‚¬μš©ν•˜λ©΄ 포트 μΆ©λŒμ„ λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

2. 병렬 ν…ŒμŠ€νŠΈ μˆ˜ν–‰ κ°€λŠ₯

ν…ŒμŠ€νŠΈλ₯Ό λ³‘λ ¬λ‘œ μˆ˜ν–‰ν•  λ•Œ, μ—¬λŸ¬ ν…ŒμŠ€νŠΈκ°€ 같은 포트λ₯Ό μ‚¬μš©ν•˜λ©΄ 좩돌이 λ°œμƒν•˜μ—¬ ν…ŒμŠ€νŠΈκ°€ μ‹€νŒ¨ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 랜덀 포트λ₯Ό μ‚¬μš©ν•˜λ©΄ λ³‘λ ¬λ‘œ ν…ŒμŠ€νŠΈλ₯Ό μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

3. 톡합 ν…ŒμŠ€νŠΈ μˆ˜ν–‰

@SpringBootTest μ–΄λ…Έν…Œμ΄μ…˜μ€ Spring Boot μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹œμž‘ν•˜κ³ , ν…ŒμŠ€νŠΈ μˆ˜ν–‰μ— ν•„μš”ν•œ λΉˆμ„ μžλ™μœΌλ‘œ λ“±λ‘ν•˜μ—¬ 톡합 ν…ŒμŠ€νŠΈλ₯Ό μˆ˜ν–‰ν•  수 μžˆλ„λ‘ μ§€μ›ν•©λ‹ˆλ‹€. 랜덀 포트λ₯Ό μ‚¬μš©ν•˜λ©΄ μ—¬λŸ¬ 개의 ν…ŒμŠ€νŠΈμ—μ„œ 같은 μ„œλ²„λ₯Ό κ³΅μœ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

λ”°λΌμ„œ Spring Boot μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν…ŒμŠ€νŠΈν•  λ•Œ @SpringBootTest μ–΄λ…Έν…Œμ΄μ…˜μ˜ webEnvironment 속성을 SpringBootTest.WebEnvironment.RANDOM_PORT둜 μ„€μ •ν•˜λŠ” 것은 포트 좩돌 방지와 ν…ŒμŠ€νŠΈ μˆ˜ν–‰μ˜ νŽΈμ˜μ„±μ„ μœ„ν•΄ ꢌμž₯λ˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

 

@LocalServerPortλŠ” Spring Boot ν…ŒμŠ€νŠΈμ—μ„œ ν˜„μž¬ μ‹€ν–‰ 쀑인 μ„œλ²„μ˜ 포트λ₯Ό μ£Όμž…λ°›κΈ° μœ„ν•œ μ–΄λ…Έν…Œμ΄μ…˜μž…λ‹ˆλ‹€. 이 μ–΄λ…Έν…Œμ΄μ…˜μ„ μ‚¬μš©ν•˜λ©΄ @SpringBootTest와 SpringBootTest.WebEnvironment.RANDOM_PORT 속성을 ν•¨κ»˜ μ‚¬μš©ν•  λ•Œ, 랜덀 포트둜 μ„œλ²„κ°€ 싀행될 λ•Œ μ‚¬μš©λœ 포트λ₯Ό κ°€μ Έμ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

 

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class MyTest {

    @LocalServerPort
    int port;

    @Test
    void test() {
        // ν˜„μž¬ μ‹€ν–‰ 쀑인 μ„œλ²„μ˜ 포트λ₯Ό μ‚¬μš©ν•˜μ—¬ ν…ŒμŠ€νŠΈ μˆ˜ν–‰
        String url = "http://localhost:" + port + "/api/something";
        // ...
    }
}

μœ„μ˜ μ˜ˆμ œμ—μ„œ @LocalServerPort μ–΄λ…Έν…Œμ΄μ…˜μ„ μ‚¬μš©ν•˜μ—¬ port λ³€μˆ˜μ— ν˜„μž¬ μ‹€ν–‰ 쀑인 μ„œλ²„μ˜ ν¬νŠΈκ°€ μ£Όμž…λ©λ‹ˆλ‹€. 그리고 test() λ©”μ„œλ“œμ—μ„œ port λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλ²„μ— μ ‘κ·Όν•©λ‹ˆλ‹€.

 

@LocalServerPort μ–΄λ…Έν…Œμ΄μ…˜μ€ Spring Boot μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ ν…ŒμŠ€νŠΈλ₯Ό 보닀 νŽΈλ¦¬ν•˜κ²Œ μˆ˜ν–‰ν•˜κΈ° μœ„ν•œ κΈ°λŠ₯으둜, 랜덀 포트둜 μ„œλ²„λ₯Ό μ‹€ν–‰ν•˜κ³  이λ₯Ό ν…ŒμŠ€νŠΈμ—μ„œ μ‚¬μš©ν•  λ•Œ μœ μš©ν•©λ‹ˆλ‹€.

728x90
λ°˜μ‘ν˜•

'πŸ“š Study > Spring' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

spring.jpa.hibernate.ddl-auto의 μ’…λ₯˜ 및 μ‚¬μš©λ²•  (0) 2023.08.26
repository, domain, controller, service ν…ŒμŠ€νŠΈ μ½”λ“œλ‘œ λ‹€ ν…ŒμŠ€νŠΈ ν•΄μ•Όν•˜λŠ”μ§€? ν…ŒμŠ€νŠΈ μˆœμ„œλ„ μ•Œμ•„λ³΄μž  (0) 2023.05.01
junit4 와 junit 5 의 차이점과 μž₯단점 그리고 뭐λ₯Ό λ”λ§Žμ΄ μ“°μ΄λŠ”μ§€?  (0) 2023.05.01
Thymeleaf Fragment (Fragment λ‚˜λˆ„κΈ°)  (0) 2022.09.06
Springμ΄λž€?  (0) 2022.08.06
    'πŸ“š Study/Spring' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • spring.jpa.hibernate.ddl-auto의 μ’…λ₯˜ 및 μ‚¬μš©λ²•
    • repository, domain, controller, service ν…ŒμŠ€νŠΈ μ½”λ“œλ‘œ λ‹€ ν…ŒμŠ€νŠΈ ν•΄μ•Όν•˜λŠ”μ§€? ν…ŒμŠ€νŠΈ μˆœμ„œλ„ μ•Œμ•„λ³΄μž
    • junit4 와 junit 5 의 차이점과 μž₯단점 그리고 뭐λ₯Ό λ”λ§Žμ΄ μ“°μ΄λŠ”μ§€?
    • Thymeleaf Fragment (Fragment λ‚˜λˆ„κΈ°)
    kkh1902
    kkh1902
    1Day 1 Commit λͺ©ν‘œ κ³΅λΆ€ν•œκ²ƒλ“€ 맀일 κΈ°λ‘ν•˜κΈ°

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”