728x90
반응형
Mock이란?
실제 객체를 만들어 사용하기에 비용과 시간이 많이 들거나 의존성이 길게 걸쳐져 있어 제대로 구현하기 어려울 경우,
이를 대신하기 위해 만들어진 가짜 객체
Mock 분류
1. 테스트 더블
테스트를 진행하기 어려운 경우 이를 대신해 테스트를 진행할 수 있도록 만들어주는 객체
2. 더미 객체
단순히 인스턴스화될 수 있는 수준으로만 객체 구현
3. 테스트 스텁
더미 객체가 실제 동작하는 것처럼 보이게 만들어 놓은 객체
특정 값을 리턴해주거나 특정 메시지 출력 (특정 상태 가정)
상태 검증에 사용
4. 페이크 객체
여러 상태를 대표할 수 있도록 구현
실제 DB에 접속해 비교할 때와 동일한 모양이 보이도록 객체 내부에 구현
5. 테스트 스파이
테스트에 사용되는 객체
메소드 사용 여부 및 정상 호출 여부 기록, 요청시 알려줌
행위 기반 테스트(특정 메소드가 호출되었을 때 다른 메소드가 실행되어야 함)가 필요한 경우 사용
6. Mock 객체
행위 검증을 위해 사용되는 객체, 수동으로 만들거나 프레임워크를 통해 구현
행위 기반 테스트는 복잡도나 정확성 등 작성하기 어려운 부분이 많아 상태 기반 테스트가 가능하면 만들지 않기
행위 검증에 사용
참고
728x90
반응형
'Programming > Tips' 카테고리의 다른 글
자바 프레임워크(Java Framework) 깨알 지식 (0) | 2021.07.22 |
---|---|
[VCS] Git 관련 용어 간단히 살펴보기 (0) | 2021.06.20 |
[POSTMAN] API 테스트하기 (0) | 2020.09.16 |
[머신러닝] 용어 정리 (지도학습, 비지도학습, 강화학습) (0) | 2020.08.18 |
[VSCode] Chrome으로 실행하기 (3) | 2019.04.04 |