인프런 커뮤니티 질문&답변
mockfunction에 대해서
작성
·
11
0
안녕하세요 선생님
mockfunction에 대해서 설명 듣다가 질문이 생겨 글 남깁니다.
mockfunction이 좋고 유용한 이유가 기존 함수를 변경할 수 있다는 점이라고 하셨는데 , 기존 함수를 변경해서 테스트를 왜 하는지 모르겠습니다 .추후 강의에서 나오는 부분일까요?
그러니까 "필요성"에 대해서 공감이 가지 않는 것 같습니다,, 개발한 함수가 잘 돌아가는지에 대해서 테스트하면 되는 것인데 왜 다른 함수로 바꿔서 테스트를하나요? 그게 버그잡기 등의 효과가 있나요? 있다면 예를 들면 어떤상황이 있을지 알려주심 넘 감사할것 같습니다. 감사합니다
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
김혜윤 님
mock function(모의 함수)을 사용하는 이유는 여러 가지가 있습니다. 개발한 코드가 잘 작동하는지 테스트할 때, 항상 모든 실제 종속성을 사용할 수 있는 것은 아닙니다. 모의 함수를 통해 다음과 같은 상황에서 유용하게 사용할 수 있습니다:
외부 종속성 제거: 어떤 함수가 외부 API나 데이터베이스에 의존하는 경우, 이를 호출하면 테스트가 느려지거나 결과가 예측할 수 없게 될 수 있습니다. 모의 함수를 사용하여 외부 종속성을 제거하고 빠르고 신뢰할 수 있는 테스트를 작성할 수 있습니다.
비정상적인 상황 시뮬레이션: 특정 오류나 경계 상황을 테스트하고자 할 때 실제로 그런 상황을 재현하기 어렵거나 위험할 수 있습니다. 예를 들어, 네트워크 오류나 서버 중단 상황을 테스트하려면 모의 함수를 통해 그러한 상황을 인위적으로 만들어낼 수 있습니다.
테스트 격리: 단위 테스트는 테스트할 항목을 독립적으로 유지하는 것이 중요합니다. 모의 함수를 사용하면 다른 부분에서 영향을 받지 않도록 만들 수 있습니다.
예를 들어, 결제 시스템을 개발할 때, 결제 API를 매번 호출하기 보다는 mock function으로 결제 성공 또는 실패를 시뮬레이션하여 다양한 시나리오를 테스트할 수 있습니다. 이것은 테스트 속도를 높이고 테스트 실행 비용을 줄입니다.
이해에 도움이 되셨길 바랍니다. 감사합니다.
참고 자료: Spring Boot Reference Documentation에서 모킹에 대한 예제들.





