관리 메뉴

CASSIE'S BLOG

104강 Spring boot와 테스팅 v1 본문

PROGRAMMING/슈퍼코딩 강의 정리

104강 Spring boot와 테스팅 v1

ITSCASSIE1107 2024. 4. 8. 14:53

 

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

 

반응형