본문 바로가기

내일배움캠프 4기 스프링/내배캠 TIL📘

02. 08 TIL

728x90

1. 최종 프로젝트

조별 프로젝트 간 괜찮았던 프로세스 : 1차 설계 - 구현 - 리팩토링 - 2차 설계 또는 테스트 코드 작성 + QueryDSL?

ERD 그리기 중 식별 - 비식별 관계 복습

https://sddev.tistory.com/81

 

[ERD] 관계선(실선, 점선) 차이

ERD 관계선의 종류 - 실선(Identifying) : A테이블과 B테이블은 "식별관계"이다. -> 부모테이블[A 테이블]의 PK가 외래키로써, 자식테이블[B 테이블]의 PK에 포함되는 경우 -> 부모, 자식 관계 (부모가 있어

sddev.tistory.com

테스트 코드 실습

- 대상 클래스의 필드 값을 @Mock 또는 @Spy로 객체 생성하기

- BDDMockito : Mockito를 좀 더 편하게 쓸 수 있도록 도와주는 라이브러리

- 테스트 코드에서 given으로 선언하는 객체 메서드의 경우 가급적 직접 만들어서 쓰자

- RestDocs는 테스트 코드를 기반으로 작성된다

- JPARepository의 메서드 중 existsBy~(~) 메서드 : boolean 타입으로 인자에 해당하는 값이 DB에 있는 경우 true를 반환 ~ findBy~(~)와의 차이점 : findBy()의 경우 찾는 값을 찾고난 후에도 모든 DB를 끝까지 찾고, existsBy()의 경우 해당하는 값을 찾는 경우 DB 검색을 중단한다.

+ 클린코드 중 단위 테스트

- 테스트 코드에게 가장 중요한 것 : 가독성

- 테스트 당 assert는 하나 : 메서드의 assert가 하나 이상이게 될 경우 테스트를 늘린다. + 테스트 당 개념은 하나

F.I.R.S.T 규칙

1) Fast : 테스트는 빨라야 한다.

2) Independent : 각 테스트는 서로 의존성을 가지면 안된다.

3) Repeatable : 테스트는 어떤 환경에서도 반복 가능해야 한다 ~ 메서드의 멱등성

4) Self - Vailidating : 테스트는 bool 값으로 결과를 내야 한다. ~ true or false

5) Timely : 실제 코드를 구현하기 전에 테스트 코드를 작성한다 (?) : TDD 관점인 것 같다.

2. JPA 심화 강의

Spring Data JPA와 친해지기(1)

728x90

'내일배움캠프 4기 스프링 > 내배캠 TIL📘' 카테고리의 다른 글

02. 10 TIL  (0) 2023.02.10
02. 09 TIL  (0) 2023.02.09
02. 07 TIL  (0) 2023.02.07
02. 06 TIL  (0) 2023.02.07
02. 03 TIL  (0) 2023.02.03