Java/Spring ํ ์คํธ๋ฅผ ์ถ๊ฐํ๊ณ ์ถ์ ๊ฐ๋ฐ์๋ค์ ์ค๋ต๋ ธํธ
Spring์ ํ ์คํธ๋ฅผ ๋ฃ๋ ๋ฐฉ๋ฒ์ ์๋ ค๋๋ฆฝ๋๋ค! ๋ ๋์๊ฐ ์์ฐ์ค๋ฌ์ด ํ ์คํธ๋ฅผ ํ ์ ์๊ฒ ์คํ๋ง ์ค๊ณ๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
์๊ฐ์ 2,415๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

- ๋ฏธํด๊ฒฐ
service.port ํจํค์ง๋ก ์ด๋ํ UserRepository๊ฐ infrastructure์ ์๋ UserEntity์ ์์กด
16๊ฐ '์ธ๋ถ ์ฐ๋์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ'์ 04:15์ ๋ณด๋ฉด,service.port ํจํค์ง๋ก ์ด๋ํ UserRepository๊ฐ infrastructure์ ์๋ Us
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittest์ค๋ช ์ด
ใป
3๋ฌ ์
0
48
1
- ๋ฏธํด๊ฒฐ
Service ์ํ ํ ์คํธ ์ง๋ฌธ
์๋น์ค๋ฅผ ์ํ ๋จ์๋ก ํ ์คํธํ๊ธฐ ์ํด Fake ํด๋์ค๋ฅผ ๊ตฌํํ๋ ์ค์ต์ ์งํํ์ จ๋๋ฐ์.ํ ์คํธ ์ฝ๋๋ ๊ฒฐ๊ตญ ๊ตฌํ๋ ๊ธฐ๋ฅ์ด ์ ์์ ์ผ๋ก ๋์ํ๋์ง ๊ฒ์ฆํ๊ธฐ ์ํ ๊ฒ์ด๋ผ
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittestyhwjd
ใป
5๋ฌ ์
0
67
1
- ๋ฏธํด๊ฒฐ
์กฐํ ์ ์ํฐํฐ๋ฅผ ์กฐํํ๋ ๊ฒ์ด ์๋QueryDSL์ ๋ง์ด ์ฌ์ฉ ์ Dto๋ ์ด๋ป๊ฒ ํ๋์?
์ผ๋ฐ์ ์ธ JpaRepository๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐEntity -> Domain model ๊ฐ์ฒด๋ก ๋ณํํ๋๋ฐ<p style="text-align: lef
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittestyoonho
ใป
7๋ฌ ์
0
105
1
- ๋ฏธํด๊ฒฐ
controller ์ port ํจํค์ง์ service ์ธํฐํ์ด์ค ์ฌ์ฉ
controller ํจํค์ง๊ฐ service ํจํค์ง์ ์์กดํด์ผํ๋๋ฐ interface๋ฅผ controller์ port์ ๋ ์ผ๋ก์จ service๊ฐ controller์ ์์กดํ๊ฒ ๋๋ค๊ณ ๋ง์ํ์๊ณ </
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittest์๋ผ๋
ใป
7๋ฌ ์
0
65
1
- ๋ฏธํด๊ฒฐ
๋น๋ ๋ฌธ์
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittestgukin.dev
ใป
8๋ฌ ์
0
78
1
- ๋ฏธํด๊ฒฐ
๋น๋ ์ ๋์๋ ๋ถ๋ค ์ฐธ๊ณ
Maven resources compiler ์ด์ฉ๊ตฌ์๋ฐ ๋ฒ์ ๋ฌธ์ <p style="text-align: lef
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittestํํ๊ฑด
ใป
8๋ฌ ์
0
94
1
- ๋ฏธํด๊ฒฐ
update์์ Repository.save
dbEntity์ ๋๋ฉ์ธ์ผ๋ก ๋ฐ๋ก ๋ถ๋ฆฌํ๋ฉด Jpa์ ๊ธฐ๋ฅ์ ์ฐ์ง ๋ชปํ๊ธฐ์ update๋ถ๋ถ์์ ๋ํฐ์ฒดํน์ ์ฌ์ฉํ์ง ์๊ณ Repository.save๋ฅผ ์ด์ฉํด merge๋ก updateํ๋ค๋๊ฑด๋ฐ ์ด๋ ๊ฒ ํ์ ๋ <p
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittestrhdrlehf5
ใป
10๋ฌ ์
0
97
1
- ๋ฏธํด๊ฒฐ
์ต์ข ์์ฑ๋ ์ฝ๋๋ฅผ ๋ฐ์ ๋ณผ ์ ์์๊น์?
์๋ ํ์ธ์. ๊ฐ์ ์ ๋ฃ๊ณ ์์ต๋๋ค^^์ต์ข ์์ฑ๋ ์ฝ๋๋ฅผ ๋ฐ์์ ํ์ธํด๋ณด๊ณ ์ถ์๊ฒ ์๋๋ฐ ๊ณต์ ๊ฐ๋ฅํ ๊น์?
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittestSH ks
ใป
10๋ฌ ์
0
140
1
- ๋ฏธํด๊ฒฐ
์์กด์ฑ ์ญ์ ์ผ๋ก ํด๊ฒฐํ ์ธ๋ถ์์กด์ฑ?
<img src="https://cdn.inflearn.com/public/files/posts/1a8dacde-f048-4785-b6e3-c457d0907439/6e4d9b05-48a5-4a40-b1bb-b49c3618b6ba.png" media-type="img"
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittest์ธ๋ถ์์กด์ฑํ ์คํธimjae
ใป
์ผ ๋ ์
0
149
1
- ๋ฏธํด๊ฒฐ
์ข์ ์ค๊ณ
์ํ ํ ์คํธ๋ฅผ ์ถ๊ตฌํ๋ฉฐ ํ ์คํธ๋ฅผ ๋์ฑ ์ฝ๊ฒ ๋ฐ๊ฟ๋ณด๋ ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ๊ฐ ๋์๊ณ ์ด๊ฒ์ด ํ ์คํธ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๋ฐ๊พธ๋ค๋ณด๋ฉด ์ข์ ์ค๊ณ๊ฐ ๋๋ค. ๋ผ๋ ๊ฒ์ ์์๋ผ๊ณ ๋ด๋ ๋ ๊น์?
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittest๊น์คํ
ใป
0
164
1
- ๋ฏธํด๊ฒฐ
Controller์ ํ ์คํธ
Controller์ ํ ์คํธ๋ฅผ ๋ฃ์ ํ์๊ฐ ์๋ค๊ณ ํด์ฃผ์ จ๋๋ฐ ์ค์ต์์๋ ๋ฃ์ ์ด์ ๊ฐ ์์๊น์?
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittest๊น์คํ
ใป
0
130
1
- ๋ฏธํด๊ฒฐ
JPA๊ฐ ์๋ Mapper ์ํคํ ์ฒ ๊ธฐ๋ฐ ํ ์คํธ ์ฝ๋ ์์ฑ
์๋ ํ์ธ์, ์์ ๊ฐ์๋ JPA ๊ธฐ๋ฐ์ผ๋ก ์ค๋ช ํด ์ฃผ๊ณ ๊ณ์ ๋ฐ ๋ง์ฝ Mapper ์ํคํ ์ฒ ๊ธฐ๋ฐ๋ ํด๋น ๊ฐ์ repository ํ ์คํธ ์ฝ๋ ์์ฑํ ๊ฒ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฉํ๋ฉด ๋๋์?
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittest๋ง๋
ใป
0
229
0
- ๋ฏธํด๊ฒฐ
์์์ฑ ๊ฐ์ฒด ๊ตฌ๋ถ์ผ๋ก ์ธํ JPA์ Querydsl์ Projection ์ฌ์ฉ
์ง๊ธ์ ๊ฐ๋จํ ์์ ๋ผ ์ํฐํฐ์์ JpaRepository๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํด์ ๊ฐ์ ธ์จ ํ ๋๋ฉ์ธ ๊ฐ์ฒด๋ก ๋งคํ์์ผ controller์ ๋๊ฒจ controller์์ response ๊ฐ์ฒด๋ก ๋ณํ์์ผฐ์ต๋๋ค.๋ง์ฝ Projection์ ์ฌ์ฉํ๋
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittest์บ์บํ์ธ์
ใป
0
217
1
- ๋ฏธํด๊ฒฐ
์ธํ๋ผ๊ณ์ธต ๊ตฌํ์ฒด์ ํ ์คํธ ๊ตฌํ์ฒด์ ๋ํ ์ง๋ฌธ
์๋ ํ์ธ์.UserRepository๋ฅผ ๊ตฌํํ๋ ๊ตฌํ์ฒด๋ก๋ UserJpaRepository๋ฅผ ์ฌ์ฉํ๋ UserRepositoryImpl์ ํ ์คํธ์ฉ ๊ตฌํ์ฒด์ธ FakeUser
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittestdlsrksrhk
ใป
0
204
1
- ๋ฏธํด๊ฒฐ
์ค์ต ์ฝ๋ ์ปค๋ฐ
์ปค๋ฐ์ ๊ฐ์ ์ค๊ฐ์ ๊ณ์ ํ๋๋ฐ ๊นํ๋ธ์๋ ์ปค๋ฐ์ด ํ๊ฐ๋ฐ์ ์๋ค์ ์ด๋ป๊ฒ ์์์์๊น์
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittest๊นํ์ค
ใป
0
365
1
- ๋ฏธํด๊ฒฐ
UserEntity ๋ฉ์๋
์ข์ ๊ฐ์ ๊ฐ์ฌํฉ๋๋ค. UserEntity ํด๋์ค์ ์๋ from ๋ฉ์๋๋ static, toModel ๋ฉ์๋๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ๋์ ์ฐจ์ด์ from ๋ฉ์๋๋ฅผ static ์ผ๋ก ์ค์ ํ ์ด์ ๊ฐ ์
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittesthighjune
ใป
0
279
2
- ๋ฏธํด๊ฒฐ
CertificationServiceTest์์ MailSender ์ธํฐํ์ด์ค๊ฐ ์๋ FakeMailSender๋ฅผ ์ด์ฉํ๋ ๊ฒ
ํ์ฌ CertificationServiceTest๋ฅผ ํ ๋ MailSender๋ฅผ ์ฃผ์ ๋ฐ๋ ๊ฒ์ด ์๋ FakeMailSender๋ฅผ ์ฃผ์ ๋ฐ์์ ํ ์คํธ๋ฅผ ์งํํ๋๋ฐMailSender๋ฅผ ๋ง๋ ์ด์ ๊ฐ ์์กด์ฑ์ ์ญ์ ์ํค๊ธฐ ์ํด์ ๋ง๋ ๊ฒ์ธ๋ฐ FakeMailSen
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittestํํ ๋ฆฌ
ใป
0
211
1
- ๋ฏธํด๊ฒฐ
๋ ์ด์ด๋ ์ํคํ ์ฒ ๊ฐ๋ฐ์ ๋ํ์ฌ
์น์ 6 ์งํํ๋ ์ํคํ ์ฒ์ 3๋ฒ์งธ ๊ฐ์์ธ ํต์ฌ๊ณ ๋ ์ ๋ํ ์ฌ๊ฒฌ ๊ฐ์ ์ค 8๋ถ 9์ด์ ๊ฐ์ฌ๋๊ป์ ์์คํ ์ด ๋ช ํํ ๋, ์ถ์ํ๊ฐ ๋๋ฌด ๋ง์ด ๋์ด์๋ค๋ฉด ์ธ๋ชจ์๋ ๊ตฌ์ญ์ด๋ผ๊ณ ๋ง์ํ์๊ณ Spring/JPA/RDB ์ด 3๊ฐ๋ฅผ ์ธ๊ฒ ๋ช ํํ๋ค๋ฉด ๋ ์ด์ด๋ ์ํคํ ์ฒ๋ก ๊ฐ๋ฐํ๋ผ๊ณ
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittestspringYam
ใป
0
218
1
- ๋ฏธํด๊ฒฐ
BDDMockito์ when์ ์ฌ์ฉํ ์ฝ๋๊ฐ given ์ ์ ์๋ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค.
์น์ 3 - ํ ์คํธ์ถ๊ฐํ๊ธฐ: h2๋ฅผ ์ด์ฉํ service ํ ์คํธ ์์UserService์ create ๋ฅผ ํ ์คํธํ๊ธฐ ์ํด Mock์ผ๋ก ์ฃผ์ ๋ JavaMailSender</
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittestcho766
ใป
0
215
1
- ๋ฏธํด๊ฒฐ
ํ ์คํธ์์ ์ฃผ์ ๊ณผ ์์ฑ
์๋ ํ์ธ์ ์ข์ ๊ฐ์ ์ ๋ฃ๊ณ ์์ต๋๋ค. ์ฌ์ํ ์ง๋ฌธ์ด์ง๋ง์..! ์ 13:00 ์์์<p
springtddjpa์ํํธ์จ์ด-ํ ์คํธunittesthighjune
ใป
0
192
1






