λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ™‚μ£ΌμΈμž₯ 회고둝

μ½”λ“œμˆ¨ μŠ€ν”„λ§[15κΈ°] - 3μ£Όμ°¨ 회고둝

by MuGeon Kim 2023. 2. 26.
λ°˜μ‘ν˜•

이번 주에 ν–ˆλ˜ μž‘μ—…

  • JUnit 5 , MockMVC을 μ΄μš©ν•œ 첫 ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„±
    • AssertJ , Mockitoλ₯Ό μ΄μš©ν•΄μ„œ ν…ŒμŠ€νŠΈ μž‘μ„±
    • Given , When , Then

ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„±ν•˜λ©΄μ„œ λŠλ‚€μ 

  1. μ½”λ“œμ˜ μž‘μ„±μ€ κ°œλ°œμžκ°€ ν•˜μ§€λ§Œ κ·Έ μ½”λ“œλ₯Ό λ³΄λŠ” μ‚¬λžŒμ„ μƒκ°ν•˜λ©° μž‘μ„±ν•˜μž
    • μ½”λ“œμ˜ μž‘μ„±μ€ κ°œλ°œμžκ°€ ν•˜μ§€λ§Œ ν…ŒμŠ€νŠΈ μ½”λ“œλŠ” λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ 검증 이외에 λ‹€λ₯Έ μ‚¬λžŒλ“€μ—κ²Œ μ‰½κ²Œ λ‚΄κ°€ μƒκ°ν•œ λ‘œμ§μ„ λͺ…ν™•ν•˜κ²Œ ν‘œν˜„μ„ ν•  수 μžˆλ‹€κ³  μƒκ°ν•œλ‹€. @Nested , @DisplayName에 λͺ…ν™•ν•œ 이름을 μ‚¬μš©ν•˜μ—¬ 가독성을 λ†’μ΄λŠ”κ²Œ 생각보닀 더 μ€‘μš”ν•˜λ‹€κ³  λŠκΌˆλ‹€.

  1. λΉ λ₯΄κ²Œ 검증이 κ°€λŠ₯ν•˜λ‹€.
    • 기쑴에 ν”„λ‘œμ νŠΈλ₯Ό ν•˜λ©΄μ„œ ν…ŒμŠ€νŠΈλ₯Ό ν•˜λŠ”κ²ƒ 보닀 λΉ λ₯΄κ²Œ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό λ§Œλ“€μ–΄μ„œ λ‘œμ§μ„ 검증을 ν•˜λ‹ˆ κ°œλ°œμ— λŒ€ν•œ μ‹œκ°„μ΄ 쀄어듀고 μ—λŸ¬λ₯Ό 더 μ‰½κ²Œ λ°œκ²¬μ„ ν•  수 μžˆμ—ˆλ‹€.

 

  1. ν…ŒμŠ€νŠΈ μ½”λ“œλŠ” κΌΌκΌΌν•˜κ²Œ μž‘μ„±ν•΄μ•Ό ν•œλ‹€.
    • λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό ν†΅ν•˜μ—¬ ν•˜λ‚˜μ˜ λ©”μ†Œλ“œλ₯Ό κ²€μ¦ν•˜λŠ” 방법도 μ’‹μ§€λ§Œ μ‹€μ œ ν”„λ‘œμ νŠΈμ—μ„œλŠ” λ‹€μ–‘ν•œ 둜직이 μ‹€ν–‰λœλ‹€. 그것을 생각해 μ‹œλ‚˜λ¦¬μ˜€λ₯Ό λ§Œλ“€κ³  λ‘œμ§μ„ κ²€μ¦ν•΄μ•Όλ˜λŠ”λ° μ΄λ•Œ μ„±κ³΅ν•˜λŠ” ν…ŒμŠ€νŠΈλ³΄λ‹€ μ‹€νŒ¨ν•˜λŠ” ν…ŒμŠ€νŠΈλ₯Ό λ§Œλ“€μ–΄μ„œ μ˜ˆμ™Έμ— λŒ€ν•œ μΆ”κ°€λ‘œμ§μ„ λ§Œλ“œλŠ”κ²Œ 더 μ’‹λ‹€κ³  μƒκ°ν–ˆλ‹€.

 

  1. ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό κ²©λ¦¬ν•˜μž
    1. μ½”λ“œμˆ¨μ—μ„œ 항상 λ§ν•˜λŠ” μœ„μž„μ— λŒ€ν•œ 뢀뢄을 ν…ŒμŠ€νŠΈ μ½”λ“œμ— μ μš©μ‹œμΌœμ•Ό ν•œλ‹€. κ°€μž₯ 많이 μ‚¬μš©ν•˜λŠ” λ ˆμ΄μ–΄ 아킀텍쳐λ₯Ό κΈ°μ€€μœΌλ‘œ Controller , Serviceλ₯Ό λ‚˜λˆ„μ–΄ 잘 ν…ŒμŠ€νŠΈλ₯Ό ν•œλ‹€λ©΄ 더 쒋은 μ½”λ“œκ°€ λœλ‹€.

 

정리

이번 μ£ΌλŠ” λͺΈμ΄ μ•„νŒŒμ„œ 개인적으둜 μ½”λ“œμˆ¨μ— ν• λ‹Ήν•˜λŠ” μ‹œκ°„μ΄ 많이 λΆ€μ‘±ν–ˆλ‹€. 이 μ μ—μ„œ λ„ˆλ¬΄ μ•„μ‰½μ§€λ§Œ λ‚΄κ°€ μ›ν–ˆλ˜ ν…ŒμŠ€νŠΈ μ½”λ“œμ— λŒ€ν•΄ λ°°μ›Œμ„œ μ’‹μ•˜λ˜ ν•œ μ£Όμ˜€λ‹€. 이제 λ‹€μŒ μ£ΌλΆ€ν„° JPA 와 클린 μ•„ν‚€ν…μ²˜μ— λŒ€ν•΄ ν•™μŠ΅μ„ ν•˜λŠ”λ° 이 λΆ€λΆ„μ—μ„œ 기쑴에 λ‚΄κ°€ 제일 λΆ€μ‘±ν–ˆλ˜ 뢀뢄을 ν•΄κ²°ν•  수 μžˆμ„ κ±° κ°™κ³  λ‹€μŒ μ£Ό JPA , 클린 μ•„ν‚€ν…μ²˜λ₯Ό λ°°μš°λ©΄μ„œ κΎΈμ€€νžˆ ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό 잘 μž‘μ„±ν•˜μ—¬ κ°œλ°œμžλ‘œμ„œ μ„±μž₯을 ν•˜κ³  μ‹Άλ‹€.

λ°˜μ‘ν˜•