Mock
-
이번 포스트에서는 가짜 객체인 mock을 이용한 테스트 방식에 대해서 살펴보자. 시간 기반 테스팅과 가짜 객체의 활용 시간 기반 테스트 진짜 코드들만도 관리하기 힘든데 왜 우리는 가짜 객체까지 활용하면서 테스팅을 해야할까? 만약 일과 시간(09:00 ~ 18:00) 에만 동작해야 하는 함수가 있다고 생각해보자. const purchase = () => { const currentHour = new Date().getHours() const [open, close] = [9, 18] return currentHour > open && currentHour < close } 위 함수가 제대로 동작하는지 검증하기 위해서는 일과 시간이 아닌 때 호출해서 동작 안하는지 확인하고 일과 시간에 호출해서 동작하는지 확..
[vue 3] 06. vitest를 이용한 단위 테스팅 3이번 포스트에서는 가짜 객체인 mock을 이용한 테스트 방식에 대해서 살펴보자. 시간 기반 테스팅과 가짜 객체의 활용 시간 기반 테스트 진짜 코드들만도 관리하기 힘든데 왜 우리는 가짜 객체까지 활용하면서 테스팅을 해야할까? 만약 일과 시간(09:00 ~ 18:00) 에만 동작해야 하는 함수가 있다고 생각해보자. const purchase = () => { const currentHour = new Date().getHours() const [open, close] = [9, 18] return currentHour > open && currentHour < close } 위 함수가 제대로 동작하는지 검증하기 위해서는 일과 시간이 아닌 때 호출해서 동작 안하는지 확인하고 일과 시간에 호출해서 동작하는지 확..
2023.10.06 -
가짜 객체를 이용한 테스팅 프로젝트를 진행하다 보면 여러 가지 이유로 진짜 객체를 사용하지 못할 경우가 왕왕 발생한다. 예를 들어 웹페이지가 잘 동작하는지 알려면 HttpServletRequest를 날려야 하는데 서버까지 연동돼야 해서 쉽지 않다. DB 자료를 저장해야 하는데 테스트를 위해 DB까지 동작시키는게 곤란하거나 아직 has a 관계의 객체가 만들어지지 않은 상태에서 테스트 해야하는 등 상황은 매우 다양하다. 이런 상황에서의 테스트를 위해 Stub, Mock, Spy 와 같은 가짜 객체들이 사용된다. 테스트 상황 우리는 학생의 점수를 등록하고 조회하는 시스템을 구축중이다. 이 시스템은 ScoreServiceImpl이 Has a 관계로 ScoreRepository를 사용한다. 문제는 ScoreRe..
[spock]가짜 객체를 이용한 테스팅 - 1가짜 객체를 이용한 테스팅 프로젝트를 진행하다 보면 여러 가지 이유로 진짜 객체를 사용하지 못할 경우가 왕왕 발생한다. 예를 들어 웹페이지가 잘 동작하는지 알려면 HttpServletRequest를 날려야 하는데 서버까지 연동돼야 해서 쉽지 않다. DB 자료를 저장해야 하는데 테스트를 위해 DB까지 동작시키는게 곤란하거나 아직 has a 관계의 객체가 만들어지지 않은 상태에서 테스트 해야하는 등 상황은 매우 다양하다. 이런 상황에서의 테스트를 위해 Stub, Mock, Spy 와 같은 가짜 객체들이 사용된다. 테스트 상황 우리는 학생의 점수를 등록하고 조회하는 시스템을 구축중이다. 이 시스템은 ScoreServiceImpl이 Has a 관계로 ScoreRepository를 사용한다. 문제는 ScoreRe..
2021.02.15