Spring 2

Mock이란? + Mockito,Spy,InjectMocks

Mock이란? Mock은 한글로 “모의, 가짜의”라는 뜻으로 테스트할 때 필요한 실제 객체와 동일한 모의 객체를 만들어 테스트의 효용성을 높이기 위해 사용된다. @Service public class StudentService { public Student getStudent() { // DB에서 Student 테이블 조회 (부하가 많이 걸리는 작업) } } 위처럼 DB에서 Student 테이블을 읽어 Student 객체를 리턴하는 메소드를 테스트하고 싶은데 매번 테스트할 때마다 DB를 읽어오는 것이 부하가 많이 걸리고, 시간도 많이 걸린다면 번거로워 질 것이다. 그래서 Student를 DB에서 읽어오지 않고 가짜 객체 즉, mock을 만들어서 DB에 있는 테이블 접근을 최소화할 수 있다. mock으로 ..

Spring 2023.05.13

DAO,DTO,VO 란? + DTO와 VO의 차이점, 다루는 이유

서론 사이드 프로젝트를 하던 중, DTO를 왜쓰게 되나? 가 궁금해져서 이를 알아보게 되었다. 결론부터 말하면 DTO를 쓰는 이유는 직접적인 DB와 연계가 되는 Entity를 최대한 노출을 안시키기 위해서 이다. 지금부터 DAO, DTO, VO에 대해 알아보려한다. DAO(Data Access Object) DAO는 실제로 데이터베이스(DB)의 data에 접근하기 위한 객체이다. Database 접근을 위한 로직과 비지니스 로직을 분리하기 위해 사용한다. DB에 접근하여 data를 삽입, 삭제, 조회, 수정 등 CRUD 기능을 수행한다. Service와 DB를 연결하는 연결고리 역할을 한다. Repository package가 DAO이다. 예제 1. Sping Data JPA public interfac..

Spring 2023.03.13