일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 슈퍼코딩
- 나일론지퍼
- 우레탄지퍼
- 미니마카
- 40HQ컨테이너
- MERN스택
- 자켓실측
- 헤이큐
- 와끼
- 비리짐
- TACKING
- 핸드캐리쿠리어차이점
- 지연환가료
- 엑셀드래그단축키
- 비슬론지퍼
- 클린코드
- Armhole Drop
- 필터링후복사붙여넣기
- 웹API
- 영어시간읽기
- 고급영어단어
- 엑셀필터복사붙여넣기
- 미국영어연음
- AATCC
- 요척합의
- 봉제용어
- 40HQ컨테이너40GP컨테이너차이
- 엑셀자동서식
- WHATTIMEOFTHEDAY
- 암홀트롭
- Today
- Total
CASSIE'S BLOG
104강 Spring boot와 테스팅 v1 본문
E2E TEXT가 전체 테스트임.
12분~~
테스트의 단위는 클래스가 일반적이다. 또 메소드 단위로 짜는 것도 인상적이라함.
Mapper는 중요한 클래스라기보다는 유틸리티 클래스라는데 왜 유틸리티 클래스는 별로 중요하지가 않은거야?
Mapper 클래스가 유틸리티 클래스로 분류되는 이유는 그 클래스가 데이터를 다루는데 도움을 주는 메서드들을 제공하기 때문일 겁니다. 하지만 유틸리티 클래스가 별로 중요하지 않다고 말씀드린 것은 해당 클래스가 프로그램의 핵심 비즈니스 로직을 담고 있지 않기 때문입니다. 주로 유틸리티 클래스는 여러 곳에서 반복적으로 사용되는 코드를 재사용하기 위해 만들어지며, 주로 데이터 변환, 유효성 검사, 문자열 처리 등과 같은 간단한 작업을 처리합니다.
ItemMapper에 itemEntityToItem메소드에 대한 테스트 코드를 짤 예정
단축키 눌러서 generate + test 어떤 메소드에 대한 테스트 만든 것인지 체크만 하면 됨
하는 법
해당 메소드에서 커서 놔두고
ctrl + insert 누르면 됨
재생버튼으로 그냥 테스트 가능
필드가 많아서 builder를 사용한다고함.
테스트 뼈대 잡을 떄 항상
//given
//when
//then 하기
아무거나 넣고 그냥 동작하는지만 확인하는 경우가 많다고함.
log.info를 이용해서 로그도 한번 찍고
assert 어썰트를 만든다는데 그게 뭐하는거지?
모킹유닛테스트는 중요하다고 함
순수유닛테스트는 라이브러리 검증이고
모킹유닛테스트는 서비스단 비즈니스로직을 실제 검증하는거라고 함
실제 비즈니스로직을 테스트를 하려면 레포지토리도 실제로 만들어야하는 이슈가 생긴다.
그리고 레포지토리는 db랑 연결되어있어서 또 db설정까지 해줘야함 그러면 유닛테스트의 범주가 벗어남 유닛테스트는 테스트하고 싶은 부분만 테스트하는건데 db까지 연결하면 통합테스트로 가버리는 거임
가짜 store Repository를 만들어주는 거임
Java 모킹 테스트 관련 Mockito 기능 소개
라이브러리 Mockito를 이용하면 된다함
Mock 주입을 Mock 어노테이션으로 주입할 수 있다함
When이라는 메소드를 통해서 mock이 먹혀있는 객체들을 어떻게 행동해야하는지를 양식을 정할 수 있다함
23분 부터 실습~~!
일단 넘김
Service>AirReservationService 에 들어간다.
alt+insert 해서 test 아니면 오른쪽 클릭해서 generate -> test
'PROGRAMMING > 슈퍼코딩 강의 정리' 카테고리의 다른 글
102-1강 스프링 부트와 JPA v1 (0) | 2024.05.01 |
---|---|
슈퍼코딩 가이드 9강 Server 필수 보안지식 살펴보기 v.1 (1) | 2024.04.30 |
103-2강 스프링부트와 JPA v2 (0) | 2024.04.08 |
103-1강 스프링부트와 JPA v2 (0) | 2024.04.08 |
101-2강 스프링 부트 예외 처리하기 (0) | 2024.03.07 |