-
ํด๋์ค ์ ์ธ๋ถ์ ํ๋ ์ฌ์ด์ ๊ณต๋ฐฑ ํ๋ ์ถ๊ฐํ๋ค.
-
์ด๋ ธํ ์ด์ ์ ํด๋์ค ํน์ ๋ฉ์๋์ ๊ฐ์ฅ ๊ด๋ จ๋ ๊ฒ์ ์ ์ธ๋ถ์ ๊ฐ๊น๊ฒ ํ๋ค.
-
๊ฐ์ฒด ํ๋, ๋ฉ์๋ ํ๋ผ๋ฏธํฐ, ๋ณ์ ๋ฑ ์ฌํ ๋น์ด ๋ถ๊ฐ๋ฅํ ๊ฐ์ด๋ฉด
final
์ ๋ถ์ธ๋ค. -
ํจํค์ง๋ช ์ ๋จ์๋ก ํ๋ค.
-
DTO
๋ ๋งค๊ฐ๋ณ์๊ฐ 3๊ฐ ์ด์์ผ ๊ฒฝ์ฐ ์์ฑํ๋ค. -
์์ฑ์ ์ ์ธ ์์
1. ๊ธฐ๋ณธ ์์ฑ์
2. ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ๋ ์์ฑ์
3. ์ดํ ํ๋ผ๋ฏธํฐ๊ฐ ๋ง์ ์์ฑ์๊ฐ ์๋จ์ ์ค๋๋ก ์ ์ธ
-
๊ธฐ๋ฅ๋ค์ ์์กด์ฑ์ ๋ฎ์ถ๊ธฐ ์ํด ์ ์ง/๋ณด์๋ฅผ ์ํด ๋๋ฉ์ธ ๋จ์๋ก ํจํค์ง๋ฅผ ๋๋๋ค.
-
application
์ service,domain
์ entity/repository,presentation
์ controller ๊ฐ์ฒด๋ค์ ํฌํจํ๋ค. -
dto
์exception
์ ํน์ ๋๋ฉ์ธ ํ์์์ ๊ตฌํํ๋ค.
src
โ main
โ java
โ com
โ coverflow
โ config
โ member
โ application
โ MemberService.java
โ domain
โ Member.java
โ MemberRepository.java
โ dto
โ request
โ response
โ exception
โ InvalidMemberException.java
โ presentation
โ MemberController.java
โ board
โ application
โ ...
โ ...
- ๊ฐ์ฒด ๋ค์ด๋ฐ์ ๋ค์์ ๋ฐ๋ฅธ๋ค.
Entity(๋๋ฉ์ธ) + Controller/Service/Repository/...
-
CUD
๋ save, update, delete๋ก ํต์ผํ๋ค. -
๋จ์ผ๊ฑด์ ๋ํ
Read
์ ๊ฒฝ์ฐ์๋ ํ๋ผ๋ฏธํฐ์ ๋ฐ๋ผ ์ ํ๋ค.findById(final long Id)
-
๋ณต์๊ฑด์ ๋ํ
Read
์ ๊ฒฝ์ฐ ๋ฉ์๋ ๋ค์์ ๋๋ฉ์ธ ๋ณต์๋ช ๊ณผ ํ๋ผ๋ฏธํฐ์ ๋ํด์ ์์ฑํ๋ค.findByMemberId(final long memberId)
-
Read
๋ฅผ ํ ๋ URL์ด /me๋ก ๋๋๋ ๊ฒฝ์ฐ My๋ก ์์ํ๋ ๋ฉ์๋ ๋ค์ด๋ฐ์ผ๋ก ์์ฑํ๋ค.url : /api/category/me -> findMyCategories(final long MemberId)
-
CUD
๋ ์ปจํธ๋กค๋ฌ ๋ฉ์๋์ ๋ค์ด๋ฐ์ ํต์ผํ๋ค. -
Read
์ ๊ฒฝ์ฐ์๋ ํ๋ผ๋ฏธํฐ์ ๋ฐ๋ผ ๋ค์ด๋ฐ์ ์ ํ๋ค.findByIdAndMemberId(final long Id, final long memberId)
-
๊ฒ์ฆ ๋ก์ง์
Repository
์์ ์ฒ๋ฆฌํ๋ค.existCategory(final long Id)
-
๋ถ๊ฐํผํ๊ฒ ๊ฒ์ฆ ๋ก์ง์ด ํ์ํ ๊ฒฝ์ฐ
validate
๋ก ์์ํ๊ณ ๊ฒ์ฆํ๋ ค๋ ๋ก์ง์ ๋ํด์ ์ ๋๋ค.validateExistCategory(final long Id)
-
Spring Data JPA
๊ฐ ์ง์ํ๋ ์ฟผ๋ฆฌ ๋ฉ์๋๋ฅผ ์์ฑํ๋ ๋ค์ด๋ฐ ๋ฐฉ์๊ณผ ํต์ผํ๋ค. [Spring Data JPA ์ฟผ๋ฆฌ ๋ฉ์๋] -
์กฐํ์ ๊ดํ ๋ฉ์๋๋
find
์ผ๋ก ์์ํ๋ค.
DTO(Data Transfer Object)
๋Request
์Response
๋ก ๋๋์ด ์ ์ํ๋ค.SignUpRequest, SignUpResponse
-
ํ ์คํธ ๋ฉ์๋๋ช ์ ์์ด๋ก,
@DisplayName
์ ํ๊ธ๋ก ์์ฑํ๋ค. -
ํ ์คํธ๊ฐ ์ด๋ ค์ด ์ธ๋ถ ์๋น์ค๋ Test Double์ ์ ์ฉํ๋ค.
-
Test Fixture๋
Inner Class
๋ฅผ ํ์ฉํ ๋ฉ์๋ ์ฒด์ด๋์ ์ ๊ทน ํ์ฉํ๋ค. -
ํ ์คํธ ํด๋์ค์
bean
์ฃผ์ ์ ํ๋ ์ฃผ์ ์ ์ฌ์ฉํ๋ค. -
given, when, then
์ฃผ์์ ๋ช ์์ ์ผ๋ก ๋ถ์ธ๋ค. ์๋ตํ์ง ์๋๋ค.given, when, then
์ ์ ๋๋๊ธฐ ๊ณค๋ํ ๊ฒฝ์ฐgiven, when & then
์ฒ๋ผ&
์ผ๋ก ํฉ์ณ์ ์์ฑํ๋ค.// given & when // when & then // given & when & then
-
์์ธ ์ผ์ด์ค์ ๋ํ ํ ์คํธ ๋ฉ์๋ ๋ค์ด๋ฐ์
~ ํ๋ฉด ์์ธ๊ฐ ๋ฐ์ํ๋ค.
๋ก ํต์ผํ๋ค.
@Test
@DisplayName("์๋ ์ด๋ฏธ์ง๋ฅผ ์กฐํํ๋ฉด ์์ธ๊ฐ ๋ฐ์ํ๋ค.")
void failIfNotExistsImage() {
// given
// when & then
}
- ์์ ๊ธฐ๋ฅ ๋จ์๋ก
@Nested
๋ฅผ ์ฌ์ฉํด ํด๋์ค๋ก ๊ทธ๋ฃนํํ๋ค.
@Nested
@DisplayName("์นดํ
๊ณ ๋ฆฌ ์์ฑ ์")
class createCategory{
@Test
@DisplayName("์นดํ
๊ณ ๋ฆฌ ์์ฑ์ ์ฑ๊ณตํ๋ค.")
void success() {
// given
// when
// then
}
}